Číst v angličtině

Sdílet prostřednictvím


Chyba kompilátoru CS1958

Výrazy inicializátoru objektů a kolekcí nelze použít pro výraz vytvoření delegáta.

Delegát nemá žádné členy, jako je třída nebo struktura, a proto neexistuje nic pro inicializátor objektu inicializovat. Pokud k této chybě dojde, pravděpodobně je to proto, že za výrazem vytvoření delegáta existují složené závorky. Stačí odebrat složené závorky a tato chyba zmizí.

Oprava této chyby

  1. Odeberte složené závorky.

Příklad

Následující kód vytvoří 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>);  
    }  
}