Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.
Per correggere l'errore
- 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.
Esempio
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;
}
}