Ошибка компилятора CS0428
Обновлен: Ноябрь 2007
Сообщение об ошибке
Невозможно преобразовать группу методов "идентификатор" в тип, не являющийся делегатом, "тип". Предполагается ли вызывать этот метод?
Cannot convert method group 'Identifier' to non-delegate type 'type'. Did you intend to invoke the method?
Данная ошибка возникает при преобразовании группы методов в тип, не являющийся делегатом, или при попытке вызвать метод без использования скобок.
Пример
Следующий пример приводит к возникновению ошибки 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();
}
}