.OfType <dynamicType>可能吗?

Kyl*_*yle 0 c# enums

我想做像这样的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)

SLa*_*aks 5

我认为这type是类型Type.

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

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