Я пытаюсь получить доступ к .Net (C#) перечислений в IronPython, позволяет сказать, что мы имеемДоступ к .Net перечислений в железном питона
test.dll
// Contains Several Enums
enum TestType{..}
enum TestQuality{..}
....
....
enum TestStatus{..}
//Similarly Multiple functions
public void StartTest(TestType testType, TestQuality testQuality){..}
....
....
public TestStatus GetTestStatus(){..}
и теперь, если я попытаюсь для вызова указанных выше функций, мне нужно выбрать соответствующие параметры перечислений и до сих пор, что я сделал это,
Iron Python [vs2012]
import clr
clr.AddReference('Test.dll')
from TestDll import *
test = Test()
# Initiate Enums
enumTestType = TestType
enumTestQuality = TestQuality
....
....
enumTestStatus = TestStatus
#Call Functions
test.StartTest(enumTestType.Basic, enumTestQuality.High)
....
....
# goes on
В настоящее время вышеуказанный код IronPython работает нормально, единственный нечетный бит здесь заключается в том, что мне нужно инициировать все перечисления (Intellisence не работает здесь), прежде чем использовать их с функциями, это станет более трудным, когда есть больше перечислений для использования. тогда как в среде C# (vs2012) нам не нужно начинать, но мы можем использовать их сразу при вызове функций.
Есть ли лучший способ справиться с этим в IronPython?
Пожалуйста, исправьте меня, если я ошибаюсь, спасибо!
Я знаю, что вы должны импортировать и создавать экземпляры всех перечислений, которые вы используете. Пока вы импортируете все, все выглядит хорошо для меня. Я не знаю обходного пути для этого. –
Импортный и Intantiating .net класс в порядке, но почему это члены (перечисления)? – SanVEE