static void Main(string[] args) { Console.WriteLine("Hello World!"); var displayType = new DisplayType(); // on compile type, T is replaced with actual type var displayTypeV2 = new DisplayTypeV2 <Student>(); displayTypeV2.DisplayTypeFor(new Student()); var displayTypeV2a = new DisplayTypeV2 <string>(); displayTypeV2a.DisplayTypeFor("data"); // database manager usage IStudentManager studentManager = null; IProfessorManager professorManager = null; IDirectorManager directorManager = null; IDatabaseManager <Student> studentManager2 = null; IDatabaseManager <Professor> professorManager2 = null; IDatabaseManager <Director> directorManager2 = null; IDatabaseManager <SuperProfessor> superProfDatabaseManager = null; // generic at class level vs method level var dtv2a = new DisplayTypeV2 <Student>(); dtv2a.DisplayTypeFor(new Student()); var dtv2b = new DisplayTypeV2 <string>(); dtv2b.DisplayTypeFor("data"); var dtv3 = new DisplayTypeV3(); dtv3.DisplayTypeFor <Student>(new Student()); dtv3.DisplayTypeFor <string>("data"); // multimple T var mt = new DisplayTypeV4 <string, int>(); }
public ProfessorsController(SchoolDbContext context) { _professorManager = new ProfessorManager(context); }