我正在尝试采用WinTable对象并将其转换为它的 native 对象类型,例如:
CustomControl control = (CustomControl) this.UIMap.UIMainWindow.UICustomControl.NativeElement;
然后,我想像在程序源代码中一样对待生成的
CustomControl
,就像control.DoAThing()
一样,我已经引用了包含CustomControl
类的.dll,但是问题是.NativeElement;
返回的是Object[]
类型,而不是像definition of the function这样的Object
说应该。.NativeElement
是前进的道路还是我误解了它的目的?更新:我检查了生成的
Object[]
中对象的类型,第一个是System.__ComObject
类型,第二个是System.Int32
,但是我不确定这两个都代表什么... 最佳答案
如果为CustomControl
和UICustomControl
类发布了代码,将很有帮助。基于我对您的问题的模糊理解,以下方法可能会起作用:尝试一下并发布结果。
object[] native =
this.UIMap.UIMainWindow.UICustomControl.NativeElement as object[];
if ((native[0] != null) && (native[0] is IAccessible)) {
IAccessible a = native[0] as IAccessible;
if (a is CustomControl)
CustomControl control = (CustomControl)a;
}