Errore del compilatore CS1958
Le espressioni dell'inizializzatore di oggetto e di inseieme non possono essere applicate a un'espressione di creazione del delegato.
A differenza di una classe o di uno struct, un delegato è privo di membri, per cui un inizializzatore di oggetto non ha nulla da inizializzare. Se si verifica questo errore, è probabile che siano presenti parentesi graffe dopo l'espressione di creazione del delegato. È sufficiente rimuovere le parentesi graffe per eliminare l'errore.
- Rimuovere le parentesi graffe.
Il codice seguente genera l'errore 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>);
}
}
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback: