リフレクションを使用して名前空間タイプを列挙します
開発者はリフレクションを使用して、読み込まれたアセンブリを検査し、メタデータを操作できます。 C# では、特定の名前空間で定義された型に関する情報をクエリできます。
名前空間タイプの取得
リフレクションを使用して名前空間内のすべてのクラスを取得するには、次の手順に従います。
Assembly.GetExecutingAssembly().GetTypes()
を使用して、実行中のアセンブリに読み込まれた型を反復処理します。 ToList()
を使用して、フィルタリングされた列挙型をリストに変換します。 サンプルコード
このアプローチを示すサンプル コード スニペットを次に示します。
<code class="language-csharp">string nspace = "..."; var q = from t in Assembly.GetExecutingAssembly().GetTypes() where t.IsClass && t.Namespace == nspace select t; q.ToList().ForEach(t => Console.WriteLine(t.Name));</code>
このコードは、現在のアセンブリ内の指定された名前空間で定義されているすべてのクラスの名前を出力します。このメソッドは実行中のアセンブリのみを考慮するため、名前空間が複数のアセンブリにまたがっている場合は、型の完全なリストを取得するために、読み込まれたすべてのアセンブリを列挙する必要があることに注意してください。
以上がC# リフレクションを使用して特定の名前空間内のすべてのクラスを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。