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

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

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

Consulte também

Referência

Métodos de extensão (Guia de programação C#)