Подтвердить что ты не робот

Конструктор статических классов С#

Есть ли работа над тем, как создать конструктор для статического класса?

Мне нужно, чтобы некоторые данные загружались, когда класс инициализирован, но мне нужен один и только один объект.

4b9b3361

Ответ 1

С# имеет статический конструктор для этой цели.

static class YourClass
{
    static YourClass()
    {
        // perform initialization here
    }
}

Из MSDN:

Статический конструктор используется для инициализации любых статических данных или для выполнения определенного действия, которое необходимо выполнить только один раз. Он вызывается автоматически перед созданием первого экземпляра или ссылками на статические элементы.

MSDN ссылка

,

Ответ 2

Статический конструктор выглядит так:

static class Foo
{
    static Foo()
    {
         // Static initialization code here
    }
}

Выполняется только один раз, когда тип сначала используется. Все классы могут иметь статические конструкторы, а не только статические классы.

Ответ 3

Статический конструктор

Конструктор, объявленный с использованием статического модификатора, является статическим конструктором. Статический конструктор используется для инициализации статических данных или для выполнения определенного действия, которое необходимо выполнять только один раз в жизненном цикле класса. Статический конструктор - это первый блок кода для выполнения в классе. Статический конструктор выполняет один и только один раз в жизненном цикле класса. Он вызывается автоматически. Статический конструктор не принимает никаких параметров. У него нет спецификаторов доступа. Он не вызывается напрямую.

С# имеет статический конструктор для этой цели.

static class YourClass
{
    static YourClass()
    {
        //initialization
    }
}

Ответ 4

Да, статический класс может иметь статический конструктор, а использование этого конструктора - инициализация статического члена.

static class Employee1
{
    static int EmpNo;
    static Employee1()
    {
        EmpNo = 10;
        // perform initialization here
    }
    public static void Add()
    { 

    }
    public static void Add1()
    { 

    }
}

и статический конструктор вызываются только один раз, когда у вас есть доступ к любому члену типа статического класса с именем класса Class1

Предположим, что вы обращаетесь к первому полю EmployeeName, тогда конструктор получает вызов на этот раз, после чего он не будет вызван, даже если вы получите доступ к тому же члену типа.

 Employee1.EmployeeName = "kumod";
        Employee1.Add();
        Employee1.Add();

Ответ 5

Вы можете использовать статический конструктор для статической переменной инициализации. Статический конструктор будет точкой входа для вашего класса

public class MyClass
{

    public static MyClass()
    {

        //write your initialization code here
    }

}

Ответ 6

Мы можем создать статический конструктор

статический класс StaticParent
{
staticParent()
{
// Статический код инициализации здесь
}
}
и это всегда параметр меньше.

статический класс StaticParent
{
static int я = 5;
static StaticParent (int i)//выдает ошибку
{
я = 10;
Console.WriteLine("StaticParent cons" + i);
}
}
и у него нет модификатора доступа