我有一個功能。如何檢查T對象的類型?
protected Boolean MainFunction<T>(T objectData, string Id, out string Value)
{
//here I need to check whether T equal the object I need or not
}
和上面MainFunction
由Function1
和Function2
其中I通過MyObject1
和MyObject2
調用。
我想檢查T objectData
無論是MyObject1
還是MyObject2
裏面的MainFunction
。請給我任何建議。
public bool Function1(string ID, out string Value, out ErrorReport error)
{
return MainFunction(Data.MyObject1, ID, out Value, out error);
}
public bool Function2(string ID, out string Value, out ErrorReport error)
{
return MainFunction(Data.MyObject2, ID, out Value, out error);
}
你能舉個例子說明爲什麼你需要知道傳入的類型嗎? – 2014-10-06 14:27:39
目前還不清楚你的意思是什麼:''我想檢查T objectData是否是MainObject中的MyObject1或MyObject2「 - 你想確定什麼? – David 2014-10-06 14:28:00
擁有「MyObject1」和「MyObject2」的基類,並使用[where T:BaseClass'] [通用約束](http://msdn.microsoft.com/zh-cn/library/d5x73970.aspx)您可能會重新考慮您的設計,如果您使用泛型方法檢查類型,那麼您可能不需要泛型。 – Habib 2014-10-06 14:28:09