0

我正在尝试做类似这样的伪代码....

//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
            }
        }
4

1 回答 1

5

我假设那type是 type Type

你不能使用泛型来做到这一点;泛型都是关于编译时类型的。

相反,您可以调用.Where(type.IsInstanceOfType).
请注意,这也将匹配子类型的实例。

于 2013-06-28T17:10:44.927 回答