[IronPython] clr.ImportExtensions are not available outside module ?
daniel kottow
dkottowk at yahoo.com
Thu May 12 18:57:51 CEST 2011
Hi,
Just as Dave Wald, I have also trying out the ImportExtensions methods which I
personally find very useful, thank you for implementing. Everything is working
fine on using 2.7 (and .net 4), but extension methods loaded by one module seem
not available on another...
I will stick to Dave's code exmaple:
import clr
clr.AddReference("System.Core")
import System
from System import Linq
clr.ImportExtensions(Linq)
class Product(object):
def __init__(self, cat, id, qtyOnHand ):
self.Cat = cat
self.ID = id
self.QtyOnHand = qtyOnHand
self.Q = self.QtyOnHand
If I put this into a file, lets say test.py and now use the module on the
command line:
>>> import test
>>> products = [test.Product('food', i, 10) for i in range(3)]
>>>
>>>
>>> products.Where
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'list' object has no attribute 'Where'
The linq extensions are not available. I have to re-import them:
>>> test.clr.ImportExtensions(test.Linq)
>>> products.Where
<built-in method Where of list object at 0x000000000000002B>
>>>
Is this a current limitation, or should I be doing things differently ?
Any help appreciated.
Greetings,
Daniel
More information about the Ironpython-users
mailing list