컴파일러 오류 CS1958
업데이트: 2007년 11월
오류 메시지
개체 및 컬렉션 이니셜라이저 식은 대리자 생성 식에 적용할 수 없습니다.
Object and collection initializer expressions may not be applied to a delegate creation expression,
대리자에는 클래스나 구조체와 달리 멤버가 없기 때문에 개체 이니셜라이저가 초기화할 대상이 없습니다. 이 오류가 발생하면 대리자 생성 식 다음에 중괄호가 있기 때문일 수 있습니다. 중괄호만 제거하면 오류가 사라집니다.
이 오류를 해결하려면
- 중괄호를 제거합니다.
예제
다음 코드에서는 CS1958 오류가 발생하는 경우를 보여 줍니다.
// cs1958.cs
public class MemberInitializerTest
{
delegate void D<T>();
public static void GenericMethod<T>() { }
public static void Run()
{
D<int> genD = new D<int>(GenericMethod<int>) { }; // CS1958
// Try the following line instead
// D<int> genD = new D<int>(GenericMethod<int>);
}
}