Compilerfout CS1958
Initialisatie-expressies voor objecten en verzamelingen kunnen niet worden toegepast op een expressie voor het maken van gedelegeerden.
Een gemachtigde heeft geen leden zoals een klasse of struct, en er is dus niets voor een objectinitialiseerde initialisatiefunctie. Als u deze fout tegenkomt, is dit waarschijnlijk omdat er accolades zijn na de expressie voor het maken van de gemachtigde. Verwijder gewoon de accolades en deze fout verdwijnt.
- Verwijder de accolades.
De volgende code produceert 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>);
}
}
.NET-feedback
.NET is een open source project. Selecteer een koppeling om feedback te geven: