다음을 통해 공유


컴파일러 오류 CS1914

개체 이니셜라이저에는 정적 필드 'name'을 할당할 수 없습니다.

정의에 의한 개체 이니셜라이저는 클래스의 개체 또는 인스턴스를 초기화합니다. 해당 형식의 static 필드를 초기화하는 데 사용할 수 없습니다. 생성된 클래스의 인스턴스 수에 관계없이 필드의 static 복사본은 하나뿐입니다. 제네릭 형식의 경우 닫힌 각 제네릭 형식에는 고유한 정적 필드 복사본이 있습니다. 스레드당 하나의 복사본이 있는 ThreadStaticAttribute 것으로 표시된 정적 필드입니다.

이 오류를 해결하려면

  1. 필드를 형식의 인스턴스 필드로 변경하거나 개체 이니셜라이저에서 초기화하려는 시도를 제거합니다.

예시

이니셜라이저가 TestClass.Number를 초기화하려고 하기 때문에 다음 코드는 static 필드를 포함하여 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  
  
    }  
}