11

特定の名前空間からオブジェクトを取得する方法はありますか?おそらくSystem.ReflectionsITestType名前空間のタイプからすべてのオブジェクトTest.TestTypesをObjectsとして取得して、などのインスタンスのリストを取得したいと思いますTestType1, TestType2, TestType3。誰かが私を助けることができますか?どこで検索すればいいのかわかりません。

4

1 に答える 1

22

アセンブリ内のすべてのを検索し、指定された名前空間に一致するすべての型を検索できます(これは、LINQを使用すると非常に簡単です)。ただし、特定のアセンブリがない場合は、すべてを調べる必要があります。可能なもの。

ただし、すべてのライブオブジェクトを見つける方法を探している場合、それは別の問題です。私が知る限り、プロファイラーAPIを使用せずにそれを行うことはできません。(それでも難しいかもしれません-わかりません。)

ただし、LINQクエリは次のとおりです。

public static IEnumerable<Type> GetTypesFromNamespace(Assembly assembly, 
                                               String desiredNamespace)
{
    return assembly.GetTypes()
                   .Where(type => type.Namespace == desiredNamespace);
}
于 2008-12-05T13:49:49.093 に答える