Leer en inglés

Compartir a través de


Error del compilador CS1958

No se pueden aplicar expresiones de inicializador de objeto y colección a una expresión de creación de delegado.

Un delegado no tiene miembros como una clase o una estructura, por lo que no hay nada que un inicializador de objeto deba inicializar. Si se produce este error, probablemente es porque hay llaves después de la expresión de creación de delegado. Quite las llaves y este error desaparecerá.

Para corregir este error

  1. Quite las llaves.

Ejemplo

El código siguiente produce el error 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>);  
    }  
}