2011-04-07 59 views
1

我做了一个C#COM可见的类,我可以通过Silverlight中从C#返回对象的Silverlight通过COM

dynamic com = AutomationFactory.CreateObject("MyCom"); 

功能访问,我能够返回基本数据类型(如字符串,整数.. )。到现在为止还挺好 :)。

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

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

回答

0

答案到这两个问题是:

号,安装有客户端和完整版的.NET的.NET的Silverlight的版本之间没有互操作。

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

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