Compilerfout CS1917
Leden van het alleen-lezenveld 'naam' van het type 'structnaam' kunnen niet worden toegewezen met een object-initializer omdat het een waardetype is.
Alleen-lezenvelden die waardetypen zijn, kunnen alleen worden toegewezen in een constructor.
Wijzig de struct in een klassetype.
Initialiseer de struct met een constructor.
Met de volgende code wordt CS1917 gegenereerd:
// 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;
}
}
}
.NET-feedback
.NET is een open source project. Selecteer een koppeling om feedback te geven: