CS1113 de erro do compilador
Mensagem de erro
Métodos de extensão 'nome' definido no tipo de valor 'nome' não podem ser usados para criar delegados.
Métodos de extensão que são definidos para tipos de classe podem ser usados para criar delegados.Métodos de extensão são definidos para tipos de valor não é possível.
Para corrigir este erro
O método de extensão associe a um tipo de classe.
Tornar o método de um método regular na estrutura.
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;
}
}