Demystifying C# Generics
Open Source Your Knowledge, Become a Contributor
Technology knowledge has to be shared and made accessible for free. Join the movement.
Now we will be creating a generic class. You create it the same way you create a normal class, but you just add the parameter T
at the end of the class name. You can define the parameter T
everywhere inside the class, with members, properties, methods.
To call the Lesson
class with the concrete type, you will need to initialize the object with the tags < > , and inside it you should specify the concrete type you want to create your Lesson class with.
Can we have a generic constructor? No, generic constructors are not allowed. Which means that you cannot define the parameter T on the constructor itself.
Read Jon Skeet's answer on stackoverflow regarding generic constructors.
You can still use a factory creator static method and define to it the parameter T, but still I don't think you really need that in most of the cases.