2008-12-05 65 views
10

是否有方法從特定命名空間獲取對象?或許與System.Reflections?我想從名稱空間Test.TestTypes中的ITestType類型獲取所有對象作爲對象,以便我有一個TestType1, TestType2, TestType3等實例的列表。有人能幫我嗎?我不知道在哪裏尋找。取出特定命名空間的所有類別

回答

19

你可以找到所有的類型一個組件內,並找到所有那些符合給定命名空間哪種類型的(這與LINQ很容易) - 但如果你沒有一個特定的組件,通過看,你需要檢查全部的可能的。但是,如果您正在尋找找到所有對象對象的方法,那麼這是另一回事 - 就我所知,如果不使用profiler API,則無法執行此操作。 (即使到那時它可能很難 - 我不知道。)

這裏的LINQ查詢,但:

public static IEnumerable<Type> GetTypesFromNamespace(Assembly assembly, 
               String desiredNamespace) 
{ 
    return assembly.GetTypes() 
        .Where(type => type.Namespace == desiredNamespace); 
} 
相關問題