Ler em inglês

Partilhar via


Erro do compilador CS1113

Os métodos de extensão 'name' definidos no tipo de valor 'name' não podem ser usados para criar delegados.

Os métodos de extensão definidos para tipos de classe podem ser usados para criar delegados. Os métodos de extensão definidos para tipos de valor não podem.

Para corrigir este erro

  1. Associe o método de extensão a um tipo de classe.

  2. Torne o método um método regular no struct.

Exemplo

O exemplo a seguir gera 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;  
    }  
}  

Consulte também