मैं आयरनपीथॉन स्क्रिप्ट से सी # कक्षा का उपयोग कैसे करूं? सी #:आयरनपीथन लिपि से एक्सेस होस्ट क्लास
public class MyClass
{
}
public enum MyEnum
{
One, Two
}
var engine = Python.CreateEngine(options);
var scope = engine.CreateScope();
scope.SetVariable("t", new MyClass());
var src = engine.CreateScriptSourceFromFile(...);
src.Execute(scope);
IronPython स्क्रिप्ट:
class_name = type(t).__name__ # MyClass
class_module = type(t).__module__ # __builtin__
# So this supposed to work ...
mc = MyClass() # ???
me = MyEnum.One # ???
# ... but it doesn't
अद्यतन
मैं एक होस्टिंग विधानसभा में परिभाषित वर्गों आयात करने के लिए की जरूरत है।
मैं बाहरी असेंबली से कक्षा आयात कर सकता हूं। लेकिन मुझे होस्टिंग असेंबली से कक्षा का उपयोग करने की आवश्यकता है। वह जो पाइथन लिपि शुरू करता है। मैंने आयात के साथ खेलने की कोशिश की है, लेकिन ऐसा करने का कोई तरीका नहीं मिला। – Max
@ मैक्स: होस्टिंग असेंबली किसी भी तरह से विशेष नहीं है - आपको किसी भी अन्य असेंबली से जैसे ही आयात करना होगा। आप अपने डीएलएल को 'AddReference()' कॉल में पूर्ण, पूर्ण पथ डाल सकते हैं - यदि यह काम करता है, तो आप जानते हैं कि यह केवल एक पथ/वर्तमान निर्देशिका समस्या है (जो परेशान हो सकता है, लेकिन कम से कम आपको पता चलेगा कि कोड काम करता है या नहीं) – Cameron
चूंकि स्क्रिप्ट होस्ट किया जा रहा था, मुझे यकीन था कि मुझे होस्टिंग असेंबली आयात करने की आवश्यकता नहीं है। और अब मैंने कोशिश की है कि मैं देख रहा हूं कि यह काम कर रहा है। यह अजीब बात है कि जब मैंने कक्षा के उदाहरण को पारित किया और कक्षा का नाम और मॉड्यूल पूछताछ की, ऐसा लगता है कि कक्षा पहले ही वैश्विक नामस्थान का हिस्सा है। – Max