Erro do compilador CS1917
Os membros do campo somente leitura 'nome' do tipo 'struct name' não podem ser atribuídos com um inicializador de objeto porque ele é de um tipo de valor.
Campos somente leitura que são tipos de valor só podem ser atribuídos em um construtor.
Altere a struct para um tipo de classe.
Inicialize a struct com um construtor.
O código a seguir gera 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;
}
}
}
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: