我已经创建了一个C#COM Visible类,我可以通过
访问它dynamic com = AutomationFactory.CreateObject("MyCom");
在Silverlight中运行,我能够返回基本数据类型(即string,int ..)。到目前为止很好:)。
但是现在我想通过COM连接返回一个对象,这被证明是非常困难的。我可以返回一个对象并将其放入一个动态变量中,然后从那里访问对象成员,但我无法将数据转换为我想要的对象类型。
问题: 1.有没有办法将动态变量强制转换为我想要的类。 2.有没有办法让COM对象返回我想要的类的对象?
答案 0 :(得分:0)
你的两个问题的答案是:否。
客户端上安装的完整版.NET与Silverlight版.NET之间没有互操作。
您可以做的最好的事情是创建一个接受dynamic
的包装类,并将其成员委托给dynamic
。
如果要在完整的.NET和Silverlight中重用使用此.NET对象的代码,请使用接口定义对象。有原始类实现接口并有包装类也实现接口。