Описание тега static-constructor

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

Как обеспечить вызов статических конструкторов без вызова какого-либо члена

У меня есть класс со статическим конструктором. Я хочу, чтобы статический конструктор вызывался без вызова или использования каких-либо его членов, но только если конструктор еще не был вызван. Я пытался использовать отражение. С отражением я могу в…
04 май '13 в 16:08
1 ответ

C++/cli статический конструктор производного класса не вызывается

Как описано в другом моем SO-посте, я увидел странное поведение моего приложения после перехода с VS 2008 (.net 3.5) на VS 2013 (и с использованием.net 4.0, а не 4.5). Я обнаружил, что статический конструктор (cctor) класса больше не вызывается. Поэ…
4 ответа

Как передать параметр в конструктор статического класса?

У меня есть статический класс со статическим конструктором. Мне нужно как-то передать параметр в этот статический класс, но я не уверен, как лучше. Чтобы вы посоветовали? public static class MyClass { static MyClass() { DoStuff("HardCodedParameter")…
2 ответа

Состояние гонки в статическом конструкторе C#

Я спорил с другом, который утверждает, что статический конструктор может уступить условию гонки, так как статический конструктор можно вызывать несколько раз. Кажется, это может произойти только в многопоточных средах с большим объемом. Это вообще в…
10 апр '12 в 21:34
10 ответов

Как работает статический конструктор?

namespace MyNameSpace { static class MyClass { static MyClass() { //Authentication process.. User needs to enter password } public static void MyMethod() { //Depends on successful completion of constructor } } class Program { static void Main(string…
22 фев '12 в 16:10
3 ответа

Статический инициализатор в Objective-C при загрузке класса

Я пытаюсь создать что-то для динамического создания экземпляра объекта с именем класса, аналогично тому, как работает метод Java Class.forName, например Class klass = Class.forName("MyClass"); Object obj = klass.instantiate(... Я не видел такого пов…
04 июл '09 в 23:21
1 ответ

Автономный код ARM C++ - пустой раздел.ctors

Я пишу код C++ для запуска в автономной среде (в основном, на плате ARM). Все шло хорошо, за исключением того, что я наткнулся на камень преткновения - глобальные статические конструкторы. Насколько я понимаю, секция.ctors содержит список адресов дл…
02 июн '10 в 12:11
1 ответ

Создание потоков в статических конструкторах

В следующем примере кода показано, что поток, созданный в статическом конструкторе, запускается только после завершения выполнения статического конструктора. В этом случае это приводит к тому, что статический конструктор никогда не завершает работу …
28 дек '18 в 11:58
1 ответ

Неявная инициализация статического класса

Можно ли инициализировать статический класс при запуске приложения "автоматически"? Под автоматически я имею в виду без необходимости ссылки на свойство. Причина, по которой я хочу сделать это, заключается в том, что я хочу автоматически запускать т…
2 ответа

Фабричный шаблон со статическим оформлением

У меня возникла проблема при попытке зарегистрировать мои типы, используя их статические конструкторы, со следующей фабрикой: public class Factory<T> { public static Factory<T> Instance { get { return _instance; } } private static Factor…
11 янв '16 в 20:28
2 ответа

Как CLR обрабатывает статические классы?

Кто-нибудь может объяснить, как CLR обрабатывает статические классы? Создает ли CLR один одноэлементный экземпляр для внутренней обработки статических классов? Если нет, то почему у нас есть статический конструктор в C#? (Насколько я понимаю, мы исп…
03 сен '14 в 11:36
3 ответа

Assembly.GetCallingAssembly() и статические конструкторы?

Хорошо, я столкнулся со следующей проблемой, которая подняла бровь. По разным причинам у меня есть настройка тестирования, при которой классы тестирования в TestingAssembly.dll зависят от класса TestingBase в BaseTestingAssembly.dll. В то же время T…
23 сен '08 в 15:58
1 ответ

Класс, получаемый экземпляром один раз двумя разными приложениями

Я создал класс для аутентификации моего проекта. Я хочу использовать его на своем веб-сайте, а также в мобильном приложении, но почему у этого класса есть статический конструктор, и его нужно получить экземпляр один раз, это не сработало, я имею в в…
29 июл '15 в 05:52
2 ответа

Статический конструктор не может иметь возвращаемый тип, но статический метод должен иметь возвращаемый тип в C#

В эти дни я просто провожу мозговой штурм по OOPS, и вдруг мне в голову приходит один вопрос. Я считаю это актуальным, поэтому я решил спросить сообщество. Вопрос: Статический конструктор не может иметь возвращаемый тип (int, string и т. Д.), Но ста…
11 июл '13 в 19:08
4 ответа

Управление при вызове статического конструктора

В статическом конструкторе моего пользовательского атрибута я ищу в загруженной сборке все классы, украшенные моим атрибутом, и выполняю над ними некоторые действия. Я хотел бы, чтобы статический конструктор вызывался как можно скорее во время выпол…
11 дек '09 в 07:06
1 ответ

MethodBase.IsConstructor не работает как указано для статического конструктора

Просто простое наблюдение. Собственность MethodBase.IsConstructor не работает с static конструкторы, и документация не упоминает этот факт (цитата: "истина, если этот метод является конструктором, представленным ConstructorInfo объект "). Образец: s…
6 ответов

В чем причина отсутствия статического конструктора в C++?

В чем причина отсутствия статического конструктора в C++? Если бы это было разрешено, мы бы инициализировали все статические элементы в нем, в одном месте, очень организованно, как: //illegal C++ class sample { public: static int some_integer; stati…
2 ответа

Проблема при написании статической версии методов сложения и вычитания (это в Java)

Мне нужна помощь в написании статической версии методов сложения и вычитания. Я пытался сделать это, но я не совсем уверен, что это правильный путь, а также мой метод equals не работает. Когда я компилирую свой метод equals, он всегда печатает false…
2 ответа

Реализация статического конструктора в C++ не работает

http://ideone.com/1ohrsO push_back вызывается внутри конструктора static_constructor, не отражается. Зачем? #include <iostream> #include <vector> #include<memory> #include<string> using namespace std; class has_static_constr…
01 ноя '15 в 10:39
1 ответ

Почему порядок ввода статических.ctors отличается от экземпляра.ctors в унаследованных классах?

Зачем var b = new B() сначала входит static B().ctor и чем static A() .ctor а не наоборот, как это делают конструкторы экземпляров (public A() и тогда public B())? public class A { static A() {} public A() {} } public class B : A { static B() {} pub…
04 фев '12 в 13:05