Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 强制将COM对象强制转换为接口_C#_Api_Com_.net_Coreldraw - Fatal编程技术网

C# 强制将COM对象强制转换为接口

C# 强制将COM对象强制转换为接口,c#,api,com,.net,coreldraw,C#,Api,Com,.net,Coreldraw,我正在使用COM API访问某个类,但应用程序开发人员尚未将该类完全公开给COM。因此,当我键入shape.Custom.CellsVS时,会抱怨“Cells不存在..bla bla..” 但是,当我调试代码,并在VS调试器中打开对象时,它有属性。。正是我试图访问的属性 因此,我试图通过手写界面访问这些属性: internal interface CorelTableShape { object Cells { get; } object Borders { get; } object Co

我正在使用COM API访问某个类,但应用程序开发人员尚未将该类完全公开给COM。因此,当我键入
shape.Custom.Cells
VS时,会抱怨“Cells不存在..bla bla..”

但是,当我调试代码,并在VS调试器中打开对象时,它有属性。。正是我试图访问的属性

因此,我试图通过手写界面访问这些属性:

internal interface CorelTableShape {

object Cells { get; }
object Borders { get; }
object Columns { get; }
object Rows { get; }
object Selection { get; }

}
并将COM对象强制转换到我的接口

 CorelTableShape table = (CorelTableShape)shape.Custom;
。。。触发InvalidCastException!有没有办法在运行时访问这些属性


不能将对象强制转换到它未实现的接口。因此,您无法创建自己的接口并尝试向其强制转换对象

您可以尝试改用
dynamic
。你会失去IntelliSense的支持,但我认为你可以接受