Прочитать на английском

Поделиться через


Ошибка компилятора CS1113

Методы расширения "имя", определенные в типе значения "имя", не могут применяться для создания делегатов.

Методы расширения, определенные для типов классов, могут применяться для создания делегатов. Методы расширения, определенные для типов значений, не могут.

Исправление ошибки

  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;  
    }  
}  

См. также