我具有以下通用類:如何在c#中編寫一個通用函數,它將根據類的類型調用不同的函數?
和列表中SearchModel類可以是類型A/B的。 現在我有這兩個函數調用,它給了我適當的結果。
public List<A> SearchApplicationsForA(SearchModel<A> model){
}
public List<B> SearchApplicationsForB(SearchModel<B> model){
}
我想知道是否可以編寫一個通用函數,它可以識別T的類型並調用相應的函數。例如。
public List<T> SearchApplications<T>(SearchModel<T> model)
{
if (typeof(T) == typeof(A))
{
return SearchVerificationsForA(model);
}
else if (typeof(T) == typeof(B))
{
return SearchApplicationsForB(model);
}
}
是否可以編寫這樣的函數?
看看這個[SO後(http://stackoverflow.com/questions/2004508/checking-type-parameter-of-a-generic -method-in-c-sharp) – Michael 2014-10-06 19:35:47
當你的代碼不是通用的時,你不需要泛型方法。 – 2014-10-06 19:38:23
會不會是你最好的朋友? – Icemanind 2014-10-06 19:39:50