Ler em inglês

Compartilhar via


Erro do Compilador CS1113

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

Os métodos de extensão que são definidos para tipos de classe podem ser usados para criar delegados. Os métodos de extensão que sã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. Faça com que o método se torne regular no struct.

Exemplo

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

Confira também