Так что я пытаюсь кодировать интерфейс, а не реализацию.Таким образом, у меня есть фабрика, которая возвращает объект, производный от Employee.Таким образом, эти объекты могут быть чем-то вроде Developer: Employee, Секретарь: Employee и т. Д.
Поэтому я поместил все общие свойства, такие как FirstName, LastName, Email и т. Д., В базовый класс (Employee).
И я должен поместить все свойства, специфичные для каждого типа, именно в этот тип.Поэтому в Developer есть некоторые свойства, такие как Skills, ProgrammingLanguages и т. Д., Но тогда я не смогу получить доступ к этим свойствам из объекта Employee, если не использую конкретный тип Developer.
например,
Employee employee = new EmployeeFactory.CreateEmployee(EmployeeType.Developer);
employee.ProgrammingLanguages = "C#, Java, C++"; <-- compile error
Как лучше всего это сделать?Отражение ...