다음을 통해 공유


컴파일러 오류 CS1113

업데이트: 2007년 11월

오류 메시지

값 형식 'name'에서 정의된 확장 메서드 'name'은(는) 대리자를 만드는 데 사용할 수 없습니다.
Extension methods 'name' defined on value type 'name' cannot be used to create delegates.

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

이 오류를 해결하려면

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

  2. 구조체에서 메서드를 정규 메서드로 만듭니다.

예제

다음 예제에서는 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;
    }
}

참고 항목

참조

확장 메서드(C# 프로그래밍 가이드)