Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Błąd kompilatora CS1958

Wyrażenia inicjatora obiektów i kolekcji mogą nie być stosowane do wyrażenia tworzenia delegata.

Delegat nie ma elementów członkowskich, takich jak klasa lub struktura, i dlatego nie ma nic do zainicjowania inicjatora obiektów. Jeśli wystąpi ten błąd, prawdopodobnie istnieje nawiasy klamrowe po wyrażeniu tworzenia delegata. Po prostu usuń nawiasy klamrowe i ten błąd zniknie.

Aby poprawić ten błąd

  1. Usuń nawiasy klamrowe.

Przykład

Poniższy kod tworzy 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>);  
    }  
}