如何在运行时知道类型时将对象强制转换为类型?

Ton*_*ich 5 .net c# wcf

我有这样的声明: MyClass myClass = report.DataSource as MyClass

在运行时期间,DataSource的类型是MyClass,但它与当前运行的项目位于不同的命名空间中.那是因为两个项目正在从同一个服务引用中创建相同的类.DataSource指向一个命名空间,MyClass强制转换来自不同的namesapce.(解释这是怎么发生的很复杂)

在运行时,如何使用从report.DataSource.GetType()返回的类型(从另一个命名空间返回MyClass)并将其用作类型转换而不是我不想要的命名空间中的"MyClass"?

(我希望我已经清楚地解释了.我的大脑现在有雾!)

Ton*_*ich 0

尝试实现我自己的类型转换器或使用自动映射器等外部工具来解决一次性问题的工作量太大。我选择将所有数据从一种类型复制到另一种类型。我使用 javascriptserializer 来获取没有命名空间的架构和数据。只需 5 行代码即可完美运行。