컴파일러 오류 CS1113
업데이트: 2007년 11월
오류 메시지
값 형식 'name'에서 정의된 확장 메서드 'name'은(는) 대리자를 만드는 데 사용할 수 없습니다.
Extension methods 'name' defined on value type 'name' cannot be used to create delegates.
클래스 형식에 대해 정의된 확장 메서드는 대리자를 만드는 데 사용할 수 없습니다. 값 형식에 대해 정의된 확장 메서드도 대리자를 만드는 데 사용할 수 없습니다.
이 오류를 해결하려면
확장 메서드를 클래스 형식에 연결합니다.
구조체에서 메서드를 정규 메서드로 만듭니다.
예제
다음 예제에서는 CS1113 오류가 발생하는 경우를 보여 줍니다.
// cs1113.cs
using System;
public static class Extensions
{
public static S ExtMethod(this S s)
{
return s;
}
}
public struct S
{
}
public class Test
{
static int Main()
{
Func<S> f = new S().ExtMethod; // CS1113
return 1;
}
}