programing

'System'을(를) 구현하지 않으므로 컬렉션 초기화기로 유형 '을(를) 초기화할 수 없습니다.소장품.IE 수 많은'

skycolor 2023. 10. 19. 22:08
반응형

'System'을(를) 구현하지 않으므로 컬렉션 초기화기로 유형 '을(를) 초기화할 수 없습니다.소장품.IE 수 많은'

속성으로 세 개의 클래스를 보유하는 클래스를 만들었습니다.

public class Feeds
{
    public Rentals Rentals { get; set; }
    public Agent Agents { get; set; }
    public NorthwindService.ServiceReference1.File File { get; set; }
}

전 이렇게 쓰고 있어요.

var query = from r in ent.Rentals
            join a in ent.Agents on r.ListingAgentID equals a.AgentID
            select new Feeds
            {
                a.AgentID,
                a.Alias,
                a.Bio,
                a.Email,
                a.Fax,
                r.Firstname,
                r.IsStaff,
                r.Languages
            };

하지만 오류가 발생합니다.

'NorthwindService' 유형을 초기화할 수 없습니다.웹 양식 1.'System'을 구현하지 않으므로 수집 초기화기를 사용하여 피드합니다.소장품.IE numberable' C:\Users\Northwind 서비스\북풍 서비스\WebForm1.aspx.cs

해결책을 제시해 주시기 바랍니다.

여기서 C#의 컬렉션 이니셜라이저를 사용하고 있습니다.

new myClass{a,b,c} 

여기서 myClass는 컬렉션이고 a,b,c는 이 컬렉션에 삽입됩니다.

그러나 사용해야 하는 표기법은 개체 이니셜라이저입니다.

new myClass{
   myProperty1 = a,
   myProperty2 = b,
   myProperty3 = c
}

여기서 myClass의 멤버가 초기화됩니다.또는 클래식 컨스트럭터를 사용한 다음 괄호를 변경해야 할 수도 있습니다.

new myClass(a,b,c)

다음이 되어야 합니다.

var query = from r in ent.Rentals
           join a in ent.Agents on r.ListingAgentID equals a.AgentID
           select new Feeds
           {
                    Agents = a,
                    Rentals = r
           }

언급URL : https://stackoverflow.com/questions/8376377/cannot-initialize-type-with-a-collection-initializer-because-it-does-not-impl

반응형