Compilerfehler CS1917
Member des schreibgeschützten Felds "Name" vom Typ "Strukturname" können nicht mit einem Objektinitialisierer zugewiesen werden, da es sich um einen Werttyp handelt.
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.
Beispiel
Der folgende Code generiert CS1917:
// 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;
}
}
}
Zusammenarbeit auf GitHub
Die Quelle für diesen Inhalt finden Sie auf GitHub, wo Sie auch Issues und Pull Requests erstellen und überprüfen können. Weitere Informationen finden Sie in unserem Leitfaden für Mitwirkende.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für