Ler em inglês

Partilhar via


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.

Para corrigir este erro

  • Altere a struct para um tipo de classe.

  • Inicialize a struct com um construtor.

Exemplo

O código a seguir gera CS1917:

C#
// 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;  
        }  
    }  
}