Compartilhar via


CS0428 de erro do compilador

Mensagem de erro

Não é possível converter o agrupar de métodos 'Identificador' para 'tipo' do tipo não delegado.Você pretendia chamar o método?

Este erro ocorre ao converter um agrupar de métodos em um tipo não delegado ou tentando invocar um método sem o uso de parênteses.

Exemplo

O exemplo a seguir gera CS0428:

// CS0428.cs

delegate object Del1();
delegate int Del2();

public class C
{
    public static C Method() { return null; }
    public int Foo() { return 1; }

    public static void Main()
    {
        C c = Method; // CS0428, C is not a delegate type.
        int i = (new C()).Foo; // CS0428, int is not a delegate type.

        Del1 d1 = Method; // OK, assign to the delegate type.
        Del2 d2 = (new C()).Foo; // OK, assign to the delegate type.
        // or you might mean to invoke method
        // C c = Method();
        // int i = (new C()).Foo();
    }
}