IronPython如何与继承树一起使用?
我有以下问题。我使用clr.AddReference()从.NET导入了一个类。 我想将一个对象传递给等待特定类型的方法。但是我有一个对象,它是特定类型的子类,并且该方法不接受它。
假设我有A的A类和A的子类B.比我将B的isntance传递给等待A的方法C.在.NET中可以传递子类,但是IronPython会抛出TypeError。
如何向IronPython明确说明或明确地将B投射到A? clr.Convert没有帮助,它不支持强制转换为基类。
具体来说,我想从IronPython运行编码的UI测试。我能够引用所有需要的库并开始测试应用程序。然后我想点击主窗口,在这里我得到了什么:
from System import *
from System.Threading import *
from System.Reflection import *
from Microsoft.VisualStudio.TestTools.UITesting import *
from Microsoft.VisualStudio.TestTools.UITesting.WpfControls import *
import time
Playback.Initialize()
app = ApplicationUnderTest.Launch(r"application.exe")
try:
main_window = WpfWindow()
main_window.SearchProperties[WpfWindow.PropertyNames.Name] = "Application"
Mouse.Click.Overloads[clr.GetClrType(UITestControl)](main_window)
finally:
Playback.Cleanup()
当我运行此代码时,我得到:
Traceback (most recent call last):
File "Tests.py", line 44, in <module>
TypeError: expected UITestControl, got WpfWindow
感谢您的帮助!