我正在尝试采用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,但是我不确定这两个都代表什么...

最佳答案

如果为CustomControlUICustomControl类发布了代码,将很有帮助。基于我对您的问题的模糊理解,以下方法可能会起作用:尝试一下并发布结果。

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;
}

09-19 23:19