是.OfType <dynamictype>可能?</dynamictype>

时间:2013-06-28 17:08:36

标签: c# enums

我正在尝试做类似这样的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
            }
        }

1 个答案:

答案 0 :(得分:5)

我认为type的类型为Type

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

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