Compilerfehler CS1958
Objekt- und Auflistungsinitialisiererausdrücke dürfen nicht auf Delegaterstellungsausdrücke angewendet werden.
Ein Delegat besitzt anders als Klassen oder Strukturen keine Member, daher gibt es für einen Objektinitialisierer nichts zu initialisieren. Wenn dieser Fehler auftritt, liegt es wahrscheinlich daran, dass hinter dem Delegaterstellungsausdruck geschweifte Klammern folgen. Entfernen Sie einfach die geschweiften Klammern, damit dieser Fehler nicht mehr angezeigt wird.
- Entfernen Sie die geschweiften Klammern.
Mit dem folgenden Code wird CS1958 generiert:
// 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 zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben: