Erreur du compilateur CS1917
Les membres d’un champ en lecture seule 'name' de type 'struct name' ne peuvent pas être assignés à l’aide d’un initialiseur d’objet, car il s’agit d’un type valeur.
Les champs en lecture seule qui sont des types valeur peuvent uniquement être assignés dans un constructeur.
Remplacez le struct par un type de classe.
Initialisez le struct avec un constructeur.
Le code suivant génère l’erreur 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;
}
}
}
Collaborer avec nous sur GitHub
La source de ce contenu se trouve sur GitHub, où vous pouvez également créer et examiner les problèmes et les demandes de tirage. Pour plus d’informations, consultez notre guide du contributeur.
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :