我在运行时反序列化 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命名空间中时,此实现对我有用。
但是在我将它们分成两个命名空间之后:Api.Command和Api.Event,我需要在没有确切命名空间引用的情况下实例化它们。