我有一个通用方法,我们可以将 T 作为接口类型传递。方法返回对应T类型的数据列表。对于这种方法,我有 20-25 个相同的条件,我该如何优化逻辑。
类实现接口。示例 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 列表的类。基类中的其他函数我无法更改。谁能给我一些相同的建议。