하나의 일반 메소드가 있습니다. 여기에서 T를 인터페이스 유형으로 전달할 수 있습니다. 메서드는 T 유형에 해당하는 데이터 목록을 반환합니다. 나는이 방법에 대해 20-25 개의 동일한 조건을 가지고 어떻게 논리를 최적화 할 수 있습니까?일반 메소드 로직 최적화
클래스는 인터페이스를 구현합니다. 예제 학생 클래스는 IStudent 인터페이스를 구현합니다. 여기
public ObservableCollection<T> GetAll<T>()
{
try
{
if (typeof(T) == typeof(IStudent))
{
return GetAll<T, Student>();
}
else if (typeof(T) == typeof(IZone))
{
return GetAll<T, Zone>();
}
else if (typeof(T) == typeof(IEmployee))
{
return GetAll<T, Employee>();
}
else if (typeof(T) == typeof(ICourse))
{
return GetAll<T, Course>();
}
}
}
호출자 통과 인터페이스 타입 T 및 I 내가 변경할 수없는 기본 클래스 T. 다른 함수의리스트를 반환 다른 함수 T 및 클래스 패스 T.의 종류를 확인한다. 누구나 나에게 비슷한 것을 제안 해 줄 수 있습니까?
이 논리가 처음부터 generics의 요점을 완전히 무시하지는 않습니까? – Jamiec