War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
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
Anzeigen:
© 2015 Microsoft