본문스크랩 클래스 정적 생성자


정적 생성자는 클래스를 초기화하는 데 사용됩니다. 이 생성자는 첫 번째 인스턴스가 만들어지기 전이나 정적 멤버가 참조되기 전에 클래스를 초기화하기 위해 자동으로 호출됩니다. 이것은 다음 형식으로 선언됩니다.

[attributes]staticidentifier(){constructor-body}

다음은 각 문자에 대한 설명입니다.

attributes(선택적 요소) 추가 선언 정보입니다.

identifier 는 클래스 이름과 같습니다.

constructor-body 클래스를 초기화하는 문을 포함하는 블록입니다.

 

설명

정적 생성자는 액세스 한정자를 사용하지 않고 매개 변수를 갖지 않습니다.

정적 생성자는 첫 번째 인스턴스가 만들어지기 전이나 정적 멤버가 참조되기 전에 클래스를 초기화하기 위해 자동으로 호출됩니다.

정적 생성자는 직접 호출할 수 없습니다.

사용자는 프로그램에서 정적 생성자가 실행되는 시기를 제어할 수 없습니다.

정적 생성자는 일반적으로 클래스에서 로그 파일을 사용할 때 이 파일에 항목을 쓰기 위해 사용됩니다.

 

예제

이 예제에서MyClass클래스에는 정적 생성자와 한 개의 정적 멤버MyMethod()가 있습니다.MyMethod()를 호출할 경우, 정적 생성자가 호출되어 클래스를 초기화합니다.

// StaticCtor1.cs
using System;
class MyClass
{
   // Static constructor:
   static MyClass()
   {
      Console.WriteLine("The static constructor invoked.");
   }

   public static void MyMethod()
   {
      Console.WriteLine("MyMethod invoked.");
   }
}

class MainClass
{
   static void Main()
   {
      MyClass.MyMethod();
   }
}

출력

The static constructor invoked.
MyMethod invoked.

 


답글 남기기

이메일 주소는 공개되지 않습니다.