【发布时间】:2012-11-02 10:27:46
【问题描述】:
我想创建一个带有动态参数的对象实例
private Type ClassType { get; set; }
model = (CreateObject<typeof(this.ClassType)>)ser.Deserialize(sr);
private T CreateObject<T>()
{
return (T)Activator.CreateInstance(this.ClassType);
}
我想在没有“startconfig”之类的修复类型的情况下尝试它。 但是还是不行,你能帮帮我吗?
var mi = GetType().GetMethod("CreateObject");
var miConstructed = mi.MakeGenericMethod(this.ClassType);
var instance = miConstructed.Invoke(this, null);
var model = (instance)ser.Deserialize(sr);
}
private T CreateObject<T>()
{
return (T)Activator.CreateInstance(this.ClassType);
}
这无论如何都不起作用,原因:找不到他的类型或命名空间名称“类型/命名空间”(您是否缺少 using 指令或程序集引用?)
发生在转换 ser.Deserialize(sr);
【问题讨论】:
-
它以什么方式不起作用:您是否收到异常(在这种情况下:什么异常和消息>?)或其他什么?
-
这个“ClassType”属性是什么?
标签: c# object activator createinstance