通过COM将对象从C#返回到Silverlight

时间:2011-04-07 08:27:57

标签: c# silverlight silverlight-4.0 dynamic com-interop

我已经创建了一个C#COM Visible类,我可以通过

访问它
dynamic com = AutomationFactory.CreateObject("MyCom");

在Silverlight中运行,我能够返回基本数据类型(即string,int ..)。到目前为止很好:)。

但是现在我想通过COM连接返回一个对象,这被证明是非常困难的。我可以返回一个对象并将其放入一个动态变量中,然后从那里访问对象成员,但我无法将数据转换为我想要的对象类型。

问题: 1.有没有办法将动态变量强制转换为我想要的类。 2.有没有办法让COM对象返回我想要的类的对象?

1 个答案:

答案 0 :(得分:0)

你的两个问题的答案是:否。

客户端上安装的完整版.NET与Silverlight版.NET之间没有互操作。

您可以做的最好的事情是创建一个接受dynamic的包装类,并将其成员委托给dynamic

如果要在完整的.NET和Silverlight中重用使用此.NET对象的代码,请使用接口定义对象。有原始类实现接口并有包装类也实现接口。