将Object作为参数发送到Dll函数

时间:2014-01-31 19:07:42

标签: c# dll parameters .net-4.0 class-library

我有一个类库(dll),用于保存报告操作。我的dll需要一个对象来填充所需的报告。

问题是我无法将对象从主.exe转换为dll中的同一对象。

 [A]MyMainEXE.Model.MyObject can't be converted to [B]MyClassLibrary.Model.MyObject 
 The type A cames from 'MyMainEXE', Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' 
 in the context 'Default' at 
 'C:\fakepath\DummyName.exe'. 
 The type B cames from 'MyClassLibrary', Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' 
  in the context 'Default' at
 'C:\fakepath\DummyName.dll'

我只想这样传递:

doWorks(myObjectname);

并像这样收到:

public void doWorks(object myobject)
{
 MyObject thing = (MyObject) myobject;
   //Do something
}

我已经知道如何使用arrayList

为什么我不能用物体做什么?/我做错了什么?

1 个答案:

答案 0 :(得分:1)

由于两个对象名称相同但命名空间可能不同,我认为您必须将对象从MyMainEXE.Model.MyObject序列化/反序列化为XML / Binary到MyClassLibrary.Model.MyObject