2013-06-28 44 views
0

我試圖做這樣的事僞碼....是.OfType <dynamicType>可能嗎?

//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 
      } 
     } 
+2

我們不知道「FOR EACH(COMPANY TYPE IN COMPANYTYPES)」的含義如果'CompanyTypes'是一個枚舉,那麼它本身就是一個類型*。如果你可以給出一個簡短而完整的例子,那麼幫助你會容易得多。 –

回答

5

我認爲typeType型。

你不能這樣做使用泛型;泛型都是關於編譯時間類型。您可以撥打.Where(type.IsInstanceOfType)
請注意,這也會匹配子類型的實例。