我正在尝试做类似这样的psuedocode ......
//COMPANYTYPES = ENUM
FOR EACH (COMPANY TYPE IN COMPANYTYPES)
{
var result = companies.OfType<type>().
}
然而,我找不到一种不生气的方法。是否有可能做到这一点?或者类型是否需要在编译时硬编码?
编辑:我在下面标记了一个anwser,但我认为我会显示完整的WORKING代码,以防它对其他人有帮助:
foreach (CompanyType companyType in Enum.GetValues(typeof (CompanyType)))
{
var temp = GetTypeFromCompanyEnum(companyType);
foreach (var company in companies.Where(temp.IsInstanceOfType))
{
//code here
}
}
答案 0 :(得分:5)
我认为type
的类型为Type
。
你不能使用泛型来做到这一点;泛型都是关于编译时类型的。
相反,您可以致电.Where(type.IsInstanceOfType)
请注意,这也将匹配子类型的实例。