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


// Not bothering to create a System.EventArgs



Download 21,46 Mb.
Pdf ko'rish
bet737/1830
Sana28.09.2021
Hajmi21,46 Mb.
#188411
1   ...   733   734   735   736   737   738   739   740   ...   1830
Bog'liq
[book] [en] Pro C# 2008 and the NET 3.5 Platform Fourth Edition

// Not bothering to create a System.EventArgs

// derived type here.

public delegate void MathMessage(string msg);

public event MathMessage ComputationFinished;

public int Add(int x, int y)

{

ComputationFinished("Adding complete.");



return x + y;

}

public int Subtract(int x, int y)



{

ComputationFinished("Subtracting complete.");

return x - y;

}

}



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



372

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




If we are not using anonymous method syntax, you know that the way we would handle the

ComputationComplete event is as follows:

class Program

{

static void Main(string[] args)



{

SimpleMath m = new SimpleMath();

m.ComputationFinished +=

new SimpleMath.MathMessage(ComputationFinishedHandler);

Console.WriteLine("10 + 10 is {0}", m.Add(10, 10));

Console.ReadLine();

}

static void ComputationFinishedHandler(string msg)



{ Console.WriteLine(msg); }

}

However, we can register the event handler with a specific event like this (the remainder of the



code is identical):

m.ComputationFinished += ComputationFinishedHandler;

Notice that we are not directly allocating the associated delegate object, but rather simply

specifying a method that matches the delegate’s expected signature (a method returning void and

taking a single System.String in this case). Understand that the C# compiler is still ensuring type

safety. Thus, if the ComputationFinishedHandler() method did not take a System.String and return

void, we would be issued a compiler error.

It is also possible to explicitly convert an event handler into an instance of the delegate it

relates to. This can be helpful if you need to obtain the underlying delegate to interact with the

inherited members of System.MulticastDelegate. For example:




Download 21,46 Mb.

Do'stlaringiz bilan baham:
1   ...   733   734   735   736   737   738   739   740   ...   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