C# での名前空間内のすべてのクラスの取得
C# で特定の名前空間内のすべてのクラスを取得するには、次の手法を利用します。
次を使用して、ターゲット アセンブリ内のすべての型を取得します。 Assembly.GetTypes().
名前空間に基づいて取得した型をフィルター処理します。 String.Equals で Where を使用して、各型の名前空間を目的の名前空間に一致させます。
ToArray() を使用して、結果の型コレクションを配列に変換します。
例:
using System.Reflection; private Type[] GetTypesInNamespace(Assembly assembly, string nameSpace) { return assembly.GetTypes() .Where(t => String.Equals(t.Namespace, nameSpace, StringComparison.Ordinal)) .ToArray(); }
このメソッドを利用するには、ターゲット アセンブリで呼び出して、名前空間:
Type[] typelist = GetTypesInNamespace(Assembly.GetExecutingAssembly(), "MyNamespace");
.Net 2.0 より前のバージョンの場合:
Assembly myAssembly = typeof(Namespace.someClass).GetTypeInfo().Assembly; Type[] typelist = GetTypesInNamespace(myAssembly, "Namespace");
以上がC# で特定の名前空間からすべてのクラスを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。