我正在试着做一些像这样的伪代码...
//COMPANYTYPES = ENUM
FOR EACH (COMPANY TYPE IN COMPANYTYPES)
{
var result = companies.OfType<type>().
}然而,我找不到一种让自己不生气的方法。有可能做到这一点吗?或者需要在编译时对类型进行硬编码?
编辑:我在下面标记了一个anwser,但我想我也应该展示我完整的工作代码,以防对其他人有帮助:
foreach (CompanyType companyType in Enum.GetValues(typeof (CompanyType)))
{
var temp = GetTypeFromCompanyEnum(companyType);
foreach (var company in companies.Where(temp.IsInstanceOfType))
{
//code here
}
}发布于 2013-06-29 01:10:45
我假设type的类型是Type。
您不能使用泛型做到这一点;泛型都是关于编译时类型的。
相反,您可以调用.Where(type.IsInstanceOfType)。
请注意,这也将匹配子类型的实例。
https://stackoverflow.com/questions/17370100
复制相似问题