Ler em inglês

Compartilhar via


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á.

Para corrigir este erro

  1. Remova as chaves.

Exemplo

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>);  
    }  
}