Одним из возможных решений было бы определение пустого интерфейса, например. IEntity
и укажите, что Employee
класс реализует этот интерфейс:
interface IEntity
{
}
class Employee : IEntity
{
}
Затем вы должны потребовать у метода подписи, чтобы T
реализовал IEntity
и изменить тип, который вы объявляете для локальной переменной employee
:
public static ObservableCollection<T> GetList<T>() where T : IEntity
{
ObservableCollection<T> result = new ObservableCollection<T>();
IEntity employee = new Common.Employee();
result.Add(employee);
return result;
}
Несмотря на тот факт, , что вышеприведенный подход может устранить ошибку компиляции, я не понимаю реализацию метода GetList
. Почему в универсальном методе мы должны создать экземпляр определенного объекта, а затем добавить его в список и вернуть этот список? Какова цель для этого?