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


// Invoke() is really called here!



Download 21,46 Mb.
Pdf ko'rish
bet688/1830
Sana28.09.2021
Hajmi21,46 Mb.
#188411
1   ...   684   685   686   687   688   689   690   691   ...   1830
Bog'liq
[book] [en] Pro C# 2008 and the NET 3.5 Platform Fourth Edition

// Invoke() is really called here!

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

Under the hood, the runtime actually calls the compiler-generated Invoke() method. You can

verify this fact for yourself if you open your assembly in ildasm.exe and investigate the CIL code

within the Main() method:

.method private hidebysig static void Main(string[] args) cil managed

{

...


callvirt instance int32 SimpleDelegate.BinaryOp::Invoke(int32, int32)

}

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



346

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




Although C# does not require you to explicitly call Invoke() within your code base, you are free

to do so. Thus, the following code statement is permissible:

Console.WriteLine("10 + 10 is {0}", b.Invoke(10, 10));

Recall that .NET delegates are type safe. Therefore, if you attempt to pass a delegate a method

that does not “match the pattern,” you receive a compile-time error. To illustrate, assume the

SimpleMath class now defines an additional method named SquareNumber(), which takes a single

integer as input:

public class SimpleMath

{

...


public static int SquareNumber(int a)

{ return a * a; }

}

Given that the BinaryOp delegate can only point to methods that take two integers and return



an integer, the following code is illegal and will not compile:


Download 21,46 Mb.

Do'stlaringiz bilan baham:
1   ...   684   685   686   687   688   689   690   691   ...   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