Freigeben über


Compilerfehler CS1914

Aktualisiert: November 2007

Fehlermeldung

Das statische Feld oder die statische Eigenschaft "Name" kann nicht in einem Objektinitialisierer zugewiesen werden.
Static field 'name' cannot be assigned in an object initializer

Objektinitialisierer initialisieren gemäß ihrer Definition Objekte (Instanzen) von Klassen. Sie können nicht zum Initialisieren des static-Feldes eines Typs verwendet werden. Unabhängig davon, wie viele Instanzen einer Klasse erstellt werden, gibt es immer nur eine Ausgabe eines static-Feldes.

So beheben Sie diesen Fehler

  • Wandeln Sie das Feld entweder in ein Instanzenfeld im Typ um, oder verzichten Sie auf seine Initialisierung über den Objektinitialisierer.

Beispiel

Der folgende Code führt zu Fehler CS1914, da der Initialisierer versucht, das TestClass.Number-Feld, das static ist, zu initialisieren:

// cs1914.cs
using System.Linq;
public class TestClass
{
    public string Message { get; set; }
    public static int Number { get; set; }    
}
class Test
{
    static void Main()
    {
        TestClass b = new TestClass() { Message = "Hello", Number = "555-1212" }; // CS1914
        
    }
}