Erro do Compilador CS1958
As expressões de objeto e de inicializador de coleção não podem ser aplicadas a uma expressão de criação de representante.
Um delegado não tem membros como uma classe ou struct tem, portanto, não há nada para ser inicializado por um inicializador de objeto. Se você encontrar esse erro, provavelmente será porque há chaves após a expressão de criação do delegado. Apenas remova as chaves e esse erro desaparecerá.
- Remova as chaves.
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: