Статические конструкторы
Конструктор сайтов - uCoz
Меню сайта


Поиск по сайту
Loading


Форма входа


Помощь проекту

PayPal:

LiqPay or Credit/Debit Card:

W1 "Единый кошелек":
199990419310
WebMoney:
WME - E509190786817
WMZ - Z195499640086
WMU - U204403357554
WMR - R280087882619




Активные темы

  • Все вопросы касающиеся Neil Scope (6423)
  • Продам плату Neil Scope 3 rev 3.2 (1)
  • Заказ плат под NeilScope3 (12.2015) (59)
  • Первое знакомство с микроконтроллерами Silabs (105)
  • инвертор на микропроцессоре с 12\220v с синусом на выходе (2)
  • Куплю плату NS-3 (0)
  • Подскажите (0)
  • Осваиваем LPC2478... (1)
  • Мелкие вопросы по МК51 от SiLabs-a.. (40)
  • Детали для Neil Scope 2 (0)



  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0



    Рекомендуемые браузеры: Mozzilla, Google Chrome






    Приветствую Вас, Пробегающий мимо · RSS 22.09.2017, 04:29

    Основы C#. Урок 23. Статические конструкторы

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

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

     class MyClass
     {
     public static int data;
     //Статический конструктор
     static MyClass()
     {
     data=10;
     }
     //Конструктор
     public MyClass()
     {
     data++;
     }
     }
     class Test
     {
     public static void Main()
     {
     MyClass a=new MyClass();
     MyClass b=new MyClass();
     System.Console.WriteLine(MyClass.data);
     }
     }

    Указанный фрагмент выведет на экран 12. Действительно, сначала вызовется статический конструктор, который присвоит значение 10 перемнной data. Затем для каждого созданного экземпляра класса MyClass вызовется обычный конструктор, к котором переменная data увеличится каждый раз на 1.

    Обратите внимание, что оба конструктора без параметра. Противоречия тут нет, так как один из них - статический, а другой - нет.