컴파일러 오류 CS1914
업데이트: 2007년 11월
오류 메시지
정적 필드 'name'은(는) 개체 이니셜라이저에 할당할 수 없습니다.
Static field 'name' cannot be assigned in an object initializer
개체 이니셜라이저에서는 정의에 따라 클래스의 개체 또는 인스턴스를 초기화합니다. 개체 이니셜라이저는 형식의 static 필드를 초기화하는 데 사용할 수 없습니다. 생성된 클래스 인스턴스의 수에 관계없이 static 필드의 복사본은 하나만 존재합니다.
이 오류를 해결하려면
- 형식에서 필드를 인스턴스 필드로 변경하거나 개체 이니셜라이저에서 필드를 초기화하지 않습니다.
예제
다음 코드에서는 이니셜라이저가 static인 TestClass.Number 필드를 초기화하려고 하기 때문에 CS1914 오류가 발생하는 경우를 보여 줍니다.
// 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
}
}