1
我有一個通用方法(請參閱下面的代碼),並且想要在T是特定接口時執行某些操作。
顯然我可以做一個typeof(T).IsAssignableFrom(IFoo)
但反射比較慢,所以我想盡量避免它。測試接口的通用類型參數
現在,我知道我不能有一個約束的另一種方法,因爲我會得到模糊的方法錯誤,否則我只是這樣做。
有沒有辦法做我想要的?
難道我想這樣做的事實指向一些架構問題?
public T Load<T>(string name)
{
T result = LoadFromName<T>(name);
if(T is IFoo) // Obviously doesn't work as T is a type, not a variable
(result as IFoo).FooMethod();
return result;
}
我不敢相信我剛纔一直很傻! – 2012-04-19 11:46:41