Błąd kompilatora CS1918
Nie można przypisać elementów członkowskich właściwości typu "type" z inicjatorem obiektu, ponieważ jest to typ wartości.
Ten błąd występuje, gdy próbujesz użyć inicjatora obiektu, aby zainicjować właściwości typu struktury, który jest samą właściwością klasy, która jest inicjowana.
- Jeśli musisz w pełni zainicjować pola właściwości w inicjatorze obiektu, zmień strukturę na typ klasy. W przeciwnym razie zainicjuj elementy członkowskie struktury w osobnym wywołaniu metody po utworzeniu obiektu za pomocą inicjatora obiektów.
Poniższy przykład generuje CS1918:
// cs1918.cs
public struct MyStruct
{
public int i;
}
public class Test
{
private MyStruct str = new MyStruct();
public MyStruct Str
{
get
{
return str;
}
}
public static int Main()
{
Test t = new Test { Str = { i = 1 } }; // CS1918
return 0;
}
}
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: