私は次のジェネリッククラスを持っています:
public class SearchModel<T>
{
public string Name { get; set; }
public int? UserId { get; set; }
public List<T> result { get; set; }
}
public class A{
..
..
}
public class B{
..
..
}
SearchModel クラスの List は A/B 型にすることができます。これで、適切な結果が得られるこれら 2 つの関数呼び出しができました。
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);
}
}
そのような関数を書くことは可能ですか?