영어로 읽기

다음을 통해 공유


컴파일러 오류 CS1113

값 형식 'name'에 정의된 확장 메서드 'name'은 대리자를 만드는 데 사용할 수 없습니다.

클래스 형식에 대해 정의된 확장 메서드는 대리자를 만드는 데 사용할 수 있습니다. 값 형식에 대해 정의된 확장 메서드는 사용할 수 없습니다.

이 오류를 해결하려면

  1. 확장 메서드를 클래스 형식과 연결합니다.

  2. 메서드를 구조체의 일반 메서드로 만듭니다.

예시

다음 예제에서는 CS1113을 생성합니다.

C#
// 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;  
    }  
}  

참고 항목