Erro do compilador CS1958
As expressões do inicializador de objeto e coleção não podem ser aplicadas a uma expressão de criação delegada.
Um delegado não tem membros como uma classe ou struct tem, e, portanto, não há nada para um inicializador de objeto inicializar. Se você encontrar esse erro, provavelmente é porque há chaves após a expressão de criação de delegado. Basta remover as chaves e este erro desaparecerá.
- Retire os aparelhos.
O código a seguir produz CS1958:
// cs1958.cs
public class MemberInitializerTest
{
delegate void D<T>();
public static void GenericMethod<T>() { }
public static void Run()
{
D<int> genD = new D<int>(GenericMethod<int>) { }; // CS1958
// Try the following line instead
// D<int> genD = new D<int>(GenericMethod<int>);
}
}
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: