ホームページ > バックエンド開発 > C++ > LINQ 式ツリーを使用して複数のプロパティを持つ匿名型を動的に選択するにはどうすればよいですか?

LINQ 式ツリーを使用して複数のプロパティを持つ匿名型を動的に選択するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-22 19:21:09
オリジナル
872 人が閲覧しました

How Can I Dynamically Select Anonymous Types with Multiple Properties Using LINQ Expression Trees?

LINQ 式ツリーを介した複数のプロパティを持つ匿名型の動的選択

このガイドでは、複数のプロパティを持つ匿名型を動的に選択するための LINQ 式ツリーを構築する方法について詳しく説明します。

問題:

単一のプロパティを超えて匿名型を選択するための LINQ 式ツリーを作成することには課題が伴います。 複数のプロパティを指定する必要がある場合、標準的な方法では不十分なことがよくあります。

アプローチ:

このソリューションでは、Reflection Emit とヘルパー クラス (以下を参照) を使用して、提供されたプロパティ リストに基づいて動的タイプを生成します。 これにより、複数のプロパティを持つ匿名型の選択が可能になります。

動的型作成ヘルパー クラス:

public static class LinqRuntimeTypeBuilder
{
    // ... (Implementation details omitted for brevity)
}
ログイン後にコピー

動的選択の拡張メソッド:

public static IQueryable SelectDynamic(this IQueryable source, IEnumerable<string> fieldNames)
{
    // ... (Implementation details omitted for brevity)
}
ログイン後にコピー

使用例:

この拡張メソッドはプロジェクトに追加して次のように使用できます:

var v = from c in Countries
        where c.City == "London"
        select new { c.Name, c.Population };
ログイン後にコピー

制限事項:

型は実行時に作成されるため、IntelliSense は使用できません。 ただし、この方法は、遅延バインド データ バインディングが必要な状況では非常に役立ちます。

以上がLINQ 式ツリーを使用して複数のプロパティを持つ匿名型を動的に選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート