Exportieren (0) Drucken
Alle erweitern
Erweitern Minimieren

Compilerfehler CS1917

Visual Studio 2008

Aktualisiert: November 2007

Fehlermeldung

Member des schreibgeschützten Felds 'Name' vom Typ 'Strukturname' können nicht mit einem Objektinitialisierer zugewiesen werden, da es sich um einen Werttyp handelt.
Members of read-only field 'name' of type 'struct name' cannot be assigned with an object initializer because it is of a value type.

Schreibgeschützte Felder, die Werttypen darstellen, können nur in einem Konstruktor zugewiesen werden.

So beheben Sie diesen Fehler

  • Ändern Sie die Struktur in einen Klassentyp.

  • Initialisieren Sie die Struktur mit einem Konstruktor.

Durch den folgenden Code wird der Fehler CS1917 ausgelöst:

// cs1917.cs
class CS1917
{
    public struct TestStruct
    {
        public int i;
    }
    public class C
    {
        public readonly TestStruct str = new TestStruct();
        public static int Main()
        {
            C c = new C { str = { i = 1 } }; // CS1917
            return 0;
        }
    }
}

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2015 Microsoft