This print for content only-size & color not accurate 7" X 9-1/4" / casebound / malloy


// Register event handlers as anonymous methods



Download 21,46 Mb.
Pdf ko'rish
bet733/1830
Sana28.09.2021
Hajmi21,46 Mb.
#188411
1   ...   729   730   731   732   733   734   735   736   ...   1830
Bog'liq
[book] [en] Pro C# 2008 and the NET 3.5 Platform Fourth Edition

// Register event handlers as anonymous methods.

c1.AboutToBlow += delegate {

Console.WriteLine("Eek! Going too fast!");

};

c1.AboutToBlow += delegate(object sender, CarEventArgs e) {



Console.WriteLine("Message from Car: {0}", e.msg);

};

c1.Exploded += delegate(object sender, CarEventArgs e) {



Console.WriteLine("Fatal Message from Car: {0}", e.msg);

};

...



}

}

C H A P T E R   1 1  



D E L E G AT E S, E V E N T S, A N D   L A M B D A S



370

8849CH11.qxd  10/1/07  10:43 AM  Page 370






Note

The final curly bracket of an anonymous method must be terminated by a semicolon. If you fail to do so,

you are issued a compilation error.

Again, notice that the Program type no longer defines specific static event handlers such as

CarAboutToBlow() or CarExploded(). Rather, the unnamed (aka anonymous) methods are defined

inline at the time the caller is handling the event using the += syntax. The basic syntax of an anony-

mous method matches the following pseudo-code:

class Program

{

static void Main(string[] args)



{

SomeType t = new SomeType();

t.SomeEvent += delegate (optionallySpecifiedDelegateArgs)

{ /* statements */ };

}

}

When handling the first AboutToBlow event within the previous Main() method, notice that you



are not specifying the arguments passed from the delegate:

c1.AboutToBlow += delegate {

Console.WriteLine("Eek! Going too fast!");

};

Strictly speaking, you are not required to receive the incoming arguments sent by a specific



event. However, if you wish to make use of the possible incoming arguments, you will need to spec-

ify the parameters prototyped by the delegate type (as shown in the second handling of the

AboutToBlow and Exploded events). For example:

c1.AboutToBlow += delegate(object sender, CarEventArgs e) {

Console.WriteLine("Critical Message from Car: {0}", e.msg);

};


Download 21,46 Mb.

Do'stlaringiz bilan baham:
1   ...   729   730   731   732   733   734   735   736   ...   1830




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