【发布时间】:2011-02-03 00:24:14
【问题描述】:
试图返回一个泛型类型并得到标题中描述的错误。 我确信我在做一些愚蠢的事情 - 建议表示赞赏......
public static IList<T> GetGroupById<T>(int groupId)
{
DashboardGroupType type = (DashboardGroupType)groupId;
IList<T> result = null;
var obj = default(T);
switch (type)
{
case DashboardGroupType.Countries:
break;
case DashboardGroupType.Customers:
// this returns a list of typ IEnumerable<Customer>
obj = (T) CustomerRepository.GetAllCustomers();
break;
case DashboardGroupType.Facilities:
// this returns a list of typ IEnumerable<Facility>
obj = (T) FacilityRepository.GetAllFacilities();
break;
case DashboardGroupType.Heiarchy:
break;
case DashboardGroupType.Lines:
break;
case DashboardGroupType.Regions:
// this returns a list of typ IEnumerable<string>
obj = (T) CustomerRepository.GetRegionsHavingCustomers();
break;
case DashboardGroupType.States:
// // this returns a list of typ IEnumerable<Customer>
obj = (T) CustomerRepository.GetStatesHavingCustomers();
break;
case DashboardGroupType.Tanks:
break;
default:
break;
}
result = result.Add(obj); // ERROR IS THROWN HERE
}
【问题讨论】:
-
对 Switch-case 的使用不当,因为不需要使用不做任何事情的情况...
-
它不完整 - 我需要为其中一些添加存储库模式......我现在只是打破不完整的模式。