我想做像这样的psuedocode ....
//COMPANYTYPES = ENUM
FOR EACH (COMPANY TYPE IN COMPANYTYPES)
{
var result = companies.OfType<type>().
}
Run Code Online (Sandbox Code Playgroud)
但是我找不到一种不生气的方法.是否有可能做到这一点?或者类型是否需要在编译时硬编码?
编辑:我在下面标记了一个anwser,但我想我会显示完整的WORKING代码,以防它对其他人有帮助:
foreach (CompanyType companyType in Enum.GetValues(typeof (CompanyType)))
{
var temp = GetTypeFromCompanyEnum(companyType);
foreach (var company in companies.Where(temp.IsInstanceOfType))
{
//code here
}
}
Run Code Online (Sandbox Code Playgroud)
我认为这type是类型Type.
你不能使用泛型来做到这一点; 泛型都是关于编译时类型的.
相反,你可以打电话.Where(type.IsInstanceOfType).
请注意,这也将匹配子类型的实例.
| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |