Обобщения, Ограничения обобщений



Download 52,46 Kb.
bet4/7
Sana20.07.2022
Hajmi52,46 Kb.
#830127
TuriСамостоятельная работа
1   2   3   4   5   6   7
Bog'liq
USAROV SHUXRAT Аяп .ср1docx

Ограничения методов
Ограничения методов указываются после списка параметров после оператора where:

1

имя_метода(параметры) where T: тип_ограничения

После оператора where указывается универсальный параметр, для которого применяется ограничение. И через двоеточие указывается тип ограничения - обычно в качестве ограничения выступает конкретный тип.
Например, применим ограничения к методу SendMessage, который отправляет объекты Message

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

SendMessage(new Message("Hello World"));
SendMessage(new EmailMessage("Bye World"));
void SendMessage(T message) where T: Message
{
Console.WriteLine($"Отправляется сообщение: {message.Text}");
}
class Message
{
public string Text { get; } // текст сообщения
public Message(string text)
{
Text = text;
}
}
class EmailMessage : Message
{
public EmailMessage(string text) : base(text) { }
}

Выражение where T: Message в определении метода SendMessage говорит, что через универсальный параметр T будут передаваться объекты класса Message и производных классов. Благодаря этому компилятор будет знать, что T будет иметь функционал класса Message, и соответственно мы сможем обратиться к методам и свойствам класса Message внутри метода без проблем.
При вызове метода нам необязательно указывать тип в угловых скобках - компилятор на основании переданного значения сам определит каким тиом типизиуется метод:

1

SendMessage(new EmailMessage("Bye World"));

Однако это можно сделать и явно

1

SendMessage(new EmailMessage("Bye World"));


Download 52,46 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




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