Suppose I have the following code:
public class BaseClass { }
public class DerivedClass : BaseClass { }
public void GenericMethod<T>(T input) where T : BaseClass
{
//code
}
public void NormalMethod(BaseClass input)
{
//code
}
My question is what is the difference between the two methods? Is there any advantages or disadvantages to either method, and why?