What are the situations and their associated benefits of using Generics over Inheritance and vice-versa, and how should they be best combined?
Thanks for the answer guys.
I'm going to try to state the motivation for this question as best I can: I have a class as shown below:
class InformationReturn<T> where T : Info
{
InformationReturn(Employee employee, List<T>) { ... }
}
Now suppose I have a repository that takes an InformationReturn argument, that has to strore different fields in a DB depending on the type of Info object T is. Is it better to create different repositories each for the type T is; one repository that uses reflection to determine the type; or is there a better way using inheritance capabilities over/with generics?
Note: other client code must operate differently based on the type of T as well.