개체 이니셜라이저에는 정적 필드 'name'을 할당할 수 없습니다.
정의에 의한 개체 이니셜라이저는 클래스의 개체 또는 인스턴스를 초기화합니다. 해당 형식의 static 필드를 초기화하는 데 사용할 수 없습니다. 생성된 클래스의 인스턴스 수에 관계없이 필드의 static 복사본은 하나뿐입니다. 제네릭 형식의 경우 닫힌 각 제네릭 형식에는 고유한 정적 필드 복사본이 있습니다. 스레드당 하나의 복사본이 있는 ThreadStaticAttribute 것으로 표시된 정적 필드입니다.
이 오류를 해결하려면
- 필드를 형식의 인스턴스 필드로 변경하거나 개체 이니셜라이저에서 초기화하려는 시도를 제거합니다.
예시
이니셜라이저가 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
}
}
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET