CS1917 de erro do compilador
Mensagem de erro
Membros do campo 'nome' tipo 'nome do struct' somente leitura não podem ser atribuídos a um inicializador de objeto porque ele é de um tipo de valor.
Campos somente leitura que são tipos de valor podem ser atribuídos apenas em um construtor.
Para corrigir este erro
Alterar o struct para um tipo de classe.
Inicialize a estrutura com um construtor.
Exemplo
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;
}
}
}