Professional IronPython



Download 20,35 Mb.
Pdf ko'rish
bet330/453
Sana01.07.2022
Hajmi20,35 Mb.
#723045
1   ...   326   327   328   329   330   331   332   333   ...   453
FIgURE 15-3: 
The example application calls the DoAdd() method and displays the result onscreen.
lISTINg 15-2 
(continued)
548592c15.indd 314
2/25/10 9:45:55 AM
www.finebook.ir


Accessing the Module from C#
 

 
315
Using the dynamic Keyword
One of the new ways in which you can access IronPython in C# 4.0 is to use the 
dynamic
keyword. 
This keyword makes it possible for you to cut out a lot of the code shown in Listing 15-2 to perform 
tasks with IronPython. It’s still not perfect, but you’ll do a lot less work. Listing 15-3 shows a short 
example that accesses the 
__test__()
function found in Listing 15-1.
lISTINg 15-3: 
 Accessing IronPython using the dynamic keyword
static void Main(string[] args)
{
// Obtain the runtime.
var IPY = Python.CreateRuntime();
// Create a dynamic object containing the script.
dynamic TestPy = IPY.UseFile(“TestClass.py”);
// Execute the __test__() method.
TestPy.__test__();
}
This example has a few differences from previous examples. The first is the use of 
var
as the type for 
IPY
. Calling 
Python.CreateRuntime()
creates a 
ScriptRuntime
object, much like the example in 
Chapter 14. In this case, the code works with 
IPY
in a different manner by relying on the 
dynamic
type.
The next step is to load the script. The dynamic type, 
TestPy
, contains all the features of the 
TestClass.py
script after you load it using 
IPY.UseFile()
. Figure 15-4 shows how 
TestPy
appears after the script loads. Notice that the Locals window correctly identifies all the IronPython 
types in the file. This approach gives you far better access with a lot less code than other techniques 
in this chapter, but it only works with C# 4.0 (Visual Basic.NET developers will have to wait for 
an update).
In this case, the example calls the 
__test__()
function. This function outputs the same information 
shown in Figure 15-1.
FIgURE 15-4: 
Loading the script provides access to all of the features it contains.
548592c15.indd 315
2/25/10 9:45:55 AM
www.finebook.ir



Download 20,35 Mb.

Do'stlaringiz bilan baham:
1   ...   326   327   328   329   330   331   332   333   ...   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