我有一个通用方法,可以将T作为接口类型传递。该方法返回与T类型相应的数据列表。我有20-25个相同的条件适用于此方法,如何优化逻辑。
类实现接口。例如,Student类实现IStudent接口。
类实现接口。例如,Student类实现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,我检查了T的类型。我将T和一个返回T列表的类传递给另一个函数。这个函数位于基类中,我无法更改。