Какие элементы языка программирования C# можно объявлять статическими? 3


Можно ли из статических конструкторов инициализировать нестатические переменные класса?



Download 76,35 Kb.
bet8/13
Sana25.02.2022
Hajmi76,35 Kb.
#283064
TuriПрограмма
1   ...   5   6   7   8   9   10   11   12   13
Bog'liq
Аббосова Сарвиноз оригинал №1

Можно ли из статических конструкторов инициализировать нестатические переменные класса?


Нет, нельзя. Из статических конструкторов можно инициализировать только статические переменные этого же класса. Если в этом классе также объявляются нестатические переменные, то доступа к ним из статических конструкторов нету.


Например.
class CFileName
{
private static string fname; // скрытая статическая переменная
private string folder; // скрытая нестатическая переменная


// статический конструктор
static CFileName(string _fname)
{
fname = _fname; // доступ только к статическим переменным класса
// folder = ""; // ошибка, folder - нестатическая переменная
}
}

Для чего нужна динамическая идентификация типов (RTTI – run-time type information)? Преимущества использования


В некоторых случаях, когда при написании программ нужно определить тип данных во время выполнения программы. Это значит, что на момент компиляции не известно какой тип будут иметь те или иные данные. Для определения типа в языке C# разработан соответствующий механизм, который называется динамическая идентификация типов.


Динамическая идентификация типов есть эффективной в следующих случаях:

  • если классы наследуют друг друга или образовывают иерархию, то при наличии ссылки на базовый класс, можно определить тип объекта по этой ссылке (см. п. 5);

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

  • динамическая идентификация типов эффективно используется в рефлексии. Более подробно о рефлексии описывается здесь.

Какие ключевые слова (операторы) введенны в языке C# для обеспечения динамической идентификации типов?


Для обеспечения динамической идентификации типов в языке C# введенны три оператора:



  • оператор is – проверяет, совпадает ли тип выражения с заданным типом данных;

  • оператор as – предназначен для избежания возникновения исключительной ситуации в случае неудачного приведения типов;

  • оператор typeof. – используется для получения информации о заданном типе (классе). Более подробно об операторе typeof описывается здесь.

Download 76,35 Kb.

Do'stlaringiz bilan baham:
1   ...   5   6   7   8   9   10   11   12   13




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish