저는 C#의 동작을 알고 싶습니다. 이 같은 클래스를 고려C# 정적 필드, 인스턴스 생성자
이제public class SomeSingleton
{
public static SomeSingleton Default = new SomeSingleton();
private static int field = 0;
private SomeSingleton()
{
field = 1;
}
public int GetField()
{
return field;
}
}
,의는 GetField() 메소드를 호출하자 : 인스턴스 생성자가 생략 된 것처럼 내가 0
을 얻고있다
var field = SomeSingleton.Default.GetField();
합니다. 왜?
더 나은 점은'field'의 초기화 프로그램을 완전히 제거하는 것입니다. 객체가 처음 생성 될 때 모든 필드는 0 (또는 'null')으로 사전 설정됩니다 (유형이 처음로드 될 때 정적 필드 용). –