在下面的代碼:typeof()參數 - 它是如何工作的?
string GetName(Type type)
{
return ((type)this.obj).Name;
}
void Run()
{
string name = GetName(typeof(MyClass));
}
即時得到一個「的類型或名稱空間無法找到(是否缺少使用指令或程序集引用?)」的錯誤。我該怎麼做才能糾正這個問題?
在下面的代碼:typeof()參數 - 它是如何工作的?
string GetName(Type type)
{
return ((type)this.obj).Name;
}
void Run()
{
string name = GetName(typeof(MyClass));
}
即時得到一個「的類型或名稱空間無法找到(是否缺少使用指令或程序集引用?)」的錯誤。我該怎麼做才能糾正這個問題?
您無法投射到實例!
類型爲類型類的實例,如果你想轉換爲某種類型,使用泛型
void GetName<T>() where T : IObjectWithName { return ((T)this.object).Name; }
,那麼你可以調用
string name = GetName<MyClass>();
如果使SENS。
你不能做到這樣,你需要思考做一些像你問的:
void Update(Type type)
{
PropertyInfo info = type.GetProperty("Name");
string name = info.GetValue(info, null);
}
你到底想幹什麼? – VdesmedT 2010-12-21 11:13:14
您是否正確使用正確名稱空間的頂部? – 2010-12-21 11:13:33
'(type)(this.object).Name;'看起來完全錯誤 - Update'方法試圖做什麼? – 2010-12-21 11:17:03