指定された型の派生型の検索
プログラミングでは、多くの場合、特定の基本型のすべての派生型を決定する必要があります。従来、これは、読み込まれたアセンブリ内のすべての型を反復処理したり、ターゲット型への割り当て可能性を手動でチェックしたりするなど、手間のかかる手法によって実現されてきました。
しかし、LINQ (言語統合クエリ) を使用した、より効率的で洗練されたソリューションが存在します。 。次のコード スニペットは、このタスクを達成する簡単で効率的な方法を提供します。
var listOfDerivedTypes = ( from domainAssembly in AppDomain.CurrentDomain.GetAssemblies() from type in domainAssembly.GetTypes() where typeof(BaseTypeName).IsAssignableFrom(type) select type).ToArray();
代替の流暢な構文:
LINQ 式は、より多くの形式で記述することもできます。流暢なスタイルで強化可読性:
var listOfDerivedTypes = AppDomain.CurrentDomain.GetAssemblies() .SelectMany(domainAssembly => domainAssembly.GetTypes()) .Where(type => typeof(BaseTypeName).IsAssignableFrom(type)) .ToArray();
カスタマイズ:
以上がLINQ は、指定された基本型のすべての派生型を効率的に検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。