Base Class Constraints C# with Example
using System; namespace CSharpGenerics { class BaseClass { public void Display() { Console.WriteLine("This is BaseClass Method."); } } class DerivedClass : BaseClass{} class OtherClass { public void Display() { Console.WriteLine("This is OtherClass Method."); } } class GenClass where T : BaseClass { T genObject; public GenClass(T argObject) { genObject = argObject; } public void DisplayMessage() { genObject.Display(); } } class BaseClassConstraints { static void Main( ) { BaseClass baseObject = new BaseClass(); DerivedClass derivedObject = new DerivedClass(); OtherClass otherObject = new OtherClass(); GenClass genBaseObject = new GenClass(baseObject); genBaseObject.DisplayMessage(); GenClass genDerivedObject = new GenClass(derivedObject); genDerivedObject.DisplayMessage(); //GenClass genOtherObject = new GenClass(otherObject); //genOtherObject.DisplayMessage(); } } }