我不确定是否可以这样做,但我想知道是否可以在运行时指定泛型的'T'类型。我有一个已经序列化并存储在数据库中的对象。还存储了对象的类型。因此,当检索对象时,我将序列化对象存储在字符串变量中,因为它的类型也存储在字符串变量中。我希望能做的是这样的事情:
var serializer = new AbcSerializer();
var typeString = "Abc.Group.Common.Domain.DomainObject, Abc.Group.Common.Domain";
var serializedObject = "some serialized data here...";
var retObj = serializer.Deserialize<Type.GetType(typeString)>(serializedObject);
有人知道这是否可行?
与此类似的其他问题谈论如下使用MakeGenericType:
Type constructed = d1.MakeGenericType(typeArgs);
然后做:
object o = Activator.CreateInstance(constructed);
创建该对象的实例。这不是我想要做的。我想从已经序列化的数据创建我的对象的实例。