Professional IronPython


Using IronPython Constructively



Download 20,35 Mb.
Pdf ko'rish
bet319/453
Sana01.07.2022
Hajmi20,35 Mb.
#723045
1   ...   315   316   317   318   319   320   321   322   ...   453
Using IronPython Constructively
 

 
305
The most common way to call a delegate of this sort is to create a rule that DLR can use to call 
it. Of course, you still have to know what to call. DLR supports a number of methods to perform 
this task, but the method that works with an 
ActionBinder
is to create an object that implements 
IDynamicObject
as described in the section “Working with IDynamicObject” earlier in this chapter.
To make rules work, your code has to include a 
GetRule()
method that returns a 
StandardRule
object. Inside 
GetRule()
is a switch that selects an action based on the kind of action that DLR 
requests, such as a call (
DynamicActionKind.Call
). When DLR makes this request, the code cre-
ates a 
StandardRule
object that contains an 
ActionBinder
. The 
ActionBinder
determines what 
kind of action the call performs. For example, you might decide that the 
ActionBinder
should be 
LanguageContext.Binder
, which defines a language context for the function. The language context
is a definition of the language’s properties, such as its name, identifier, version, and specialized fea-
tures. (You can learn more about how a language context works at 
http://www.dotnetguru 
.org/us/dlrus/DLR2.htm
.) The code then calls 
SetCallRule()
with the 
StandardRule
object,
the 
ActionBinder
, and a list of arguments for the function.
Now, here’s the important consideration for this section. The 
ActionBinder
is actually part of the 
language design. If you wanted to create a new language, then part of the design process is to design 
an 
ActionBinder
for it. The 
ActionBinder
performs an immense amount of work. For example, 
a call to 
ActionBinder.ConvertExpression()
provides conversion information about the data 
types that the language supports. Of course, IronPython already performs this task for you, but it’s 
important to know how things work under the hood in case you encounter problems.

Download 20,35 Mb.

Do'stlaringiz bilan baham:
1   ...   315   316   317   318   319   320   321   322   ...   453




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