Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O campo estático 'name' não pode ser atribuído em um inicializador de objeto
Inicializadores de objeto por definição inicializam objetos ou instâncias de classes. Eles não podem ser usados para inicializar um static campo de um tipo. Não importa quantas instâncias de uma classe sejam criadas, há apenas uma cópia de um static campo. Para tipos genéricos, cada tipo genérico fechado tem sua própria cópia de campos estáticos. Campos estáticos marcados com ThreadStaticAttribute têm uma cópia por thread.
Para corrigir este erro
- Altere o campo para um campo de instância no tipo ou remova a tentativa de inicializá-lo do inicializador de objeto.
Exemplo
O código a seguir gera CS1914 porque o inicializador tenta inicializar o TestClass.Number campo, que é static:
// cs1914.cs
using System.Linq;
public class TestClass
{
public string Message { get; set; }
public static int Number { get; set; }
}
class Test
{
static void Main()
{
TestClass b = new TestClass() { Message = "Hello", Number = "555-1212" }; // CS1914
}
}