Share via


컴파일러 오류 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
        
    }
}