C#의 정적 생성자는 클래스에 구현된 정적 멤버에 대한 참조를 생성하는 동안 한 번만 호출되도록 구현된 생성자입니다. 정적 생성자의 기본 기능은 클래스의 정적 멤버를 초기화하고 한 번만 실행하는 것입니다. 이름에서 알 수 있듯이 정적 생성자는 사용자에게 명시적인 제어를 허용하지 않지만 클래스 인스턴스 호출 시 자동으로 실행됩니다. 또한 정적 생성자는 정의에서 매개 변수나 액세스 선언을 사용하지 않습니다. 직접 호출하지 마세요. 정적 생성자는 상속되거나 오버로드될 수 없으며 CLR(공용 언어 런타임)에만 액세스할 수 있습니다.
다음은 C#의 정적 생성자의 일부 기능과 사용에 대해 자세히 설명합니다.
다음 기능은 정적 생성자를 설명합니다.
정적 생성자는 각 인스턴스 중에 초기화되는 매개변수 항목을 작성하는 데 사용되는 로그 프로그램에서 주요 용도를 찾습니다. 정적 생성자는 먼저 로드되고 전체적으로 정적으로 유지되므로 데이터베이스 연결을 생성하는 데 이상적인 위치입니다. C# 프로그래밍 언어에서 정적 생성자는 다음 구문을 따릅니다.
구문:
class ABC { //defining the static constructor using the same name as class static ABC() { //constructor specific code comes here } }
다음은 C#의 정적 생성자의 몇 가지 기본 작동 원리입니다.
다음은 C#의 정적 생성자의 몇 가지 예입니다.
코드:
using System; namespace HappyConstructor { class Happy { //let us declare and initialise the static data members private static int id = 7; public static int Id { get { return id; } } public static void printVariable() { Console.WriteLine("Happy.id = " + id); } static void Main(string[] args) { //let us print the value of ID from the class Happy. printVariable (); } } }
출력:
설명: 위에서는 정적 멤버 ID를 사용하도록 선언하고 초기값인 10으로 초기화합니다.
코드:
using System; namespace Happy1Constructor { class Happy1 { private static int Id; //data member (id) is set conditionally here to show actions of a Static constructor static Happy1 () { if (Happy1.Id < 10) { Id = 25; } else { Id = 1000; } Console.WriteLine("Static Constructor for Class Happy Called.."); } public static void print() { Console.WriteLine("Happy1.Id = " + Id); } public static void Main(string[] args) { // the value of Id is displayed as Happy1.print(); } } }
출력:
설명: 위의 예에서 생성자는 example1에서 생성된 Happy.cs 파일에 조건부로 종속됩니다. 여기서 정적 생성자는 자체적으로 초기화됩니다. 값이 첫 번째 경우 생성된 Id 필드는 7이고 조건 연산자에 따라 필드 값이 10보다 작으면 Happy1 생성자의 Id 필드 값은 25가 됩니다. 이는 전형적인 예입니다. 클래스 로딩의 첫 번째 인스턴스에서 정적 생성자를 초기화하는 것입니다. 정적 생성자는 이 기능을 사용하여 프로그램 참조를 위한 입력 매개변수를 미리 로드합니다.
정적 생성자는 정적 데이터를 초기화하거나 프로그램에 대해 한 번만 수행해야 하는 특정 작업을 수행하는 데 사용됩니다. 이 생성자는 클래스의 개체가 시작되거나 멤버가 런타임 환경에 로드되기 전에 호출됩니다.
위 내용은 C#의 정적 생성자의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!