我想用一個動態參數創建對象的實例,就像C#私人牛逼的CreateObject <T>()
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指令或程序集引用?)
是happends在鑄造ser.Deserialize(SR);
以什麼方式不起作用:你會得到一個異常(在這種情況下:什麼異常和消息>?)或其他? – Richard
這是什麼「ClassType」屬性? – logicnp
我得到了編譯錯誤: http://msdn.microsoft.com/en-us/library/hxfhx4sy(v=vs.90).aspx – Ipad