0
我在运行时反序列化DTO对象。我已经使用下面的代码实例化对象给予命名空间和类型名称如何实例化给定类名称和基类的对象命名空间
public class SimpleDtoSpawner : DtoSpawner{
private readonly Assembly assembly;
private readonly string nameSpace;
public SimpleDtoSpawner(){
assembly = Assembly.GetAssembly(typeof (GenericDTO));
//NOTE: the type 'GenericDTO' is located in the Api namespace
nameSpace = typeof (GenericDTO).Namespace ;
}
public GenericDTO New(string type){
return Activator.CreateInstance(
assembly.FullName,
string.Format("{0}.{1}", nameSpace, type)
).Unwrap() as GenericDTO;
}
}
此实现为我工作,当所有命令和事件分别在阿比命名空间。
但之后,我把他们分开成两个命名空间:Api.Command和Api.Event,我需要实例他们没有一个确切的命名空间引用。
*为什么*无法指定*正确的*完整名称空间? – 2012-07-19 09:31:28
New(string type)方法的参数仅包含Name类型(不是要实例化的Type的FullName)。这种类型可能是Command或Event。所以,鉴于这个信息我可以肯定,'基'命名空间肯定是'Api',但正确的(确切)N将是'Api.Command'或'Api.Event'。那有意义吗? – zirus 2012-07-19 09:39:08