Errore del compilatore CS1918
Non è possibile assegnare i membri della proprietà 'name' di tipo 'type' con un inizializzatore di oggetto perché è di un tipo valore.
Questo errore si verifica quando si tenta di usare un inizializzatore di oggetto per inizializzare le proprietà di un tipo struct che è una proprietà della classe in fase di inizializzazione.
- Se è necessario inizializzare completamente i campi della proprietà nell'inizializzatore di oggetto, impostare lo struct su un tipo classe. In caso contrario, inizializzare i membri dello struct in una chiamata a metodo separata dopo avere creato l'oggetto mediante l'inizializzatore di oggetto.
L'esempio seguente genera l'errore 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;
}
}
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback: