0
//list is IEnumeable NOT IEnumerable<T>

var IEnumerable<object> = list.AsQueryable().Cast<object>().Select(x=> .........);

オブジェクトには実際に POCO の基礎となる Anonymous クラスがあります。

AccountId,Name,SecretInfo

selectステートメントで欲しいのは

AccountId = x.GetType().GetProperty("AccountId").GetValue(x,null),
Name = x.GetType().GetProperty("Name").GetValue(x,null)

また、ハードコードされた文字列「SecretInfo」として渡すことができる SecretInfo 列を非表示にしたい 基本的に、選択リストは匿名型で動的に構築する必要があります....これを行うにはどうすればよいですか....Linqパンター誰が私を助けることができますか?

4

1 に答える 1

0

あなたの質問への答えは、匿名型に依存しています。次のコードは、使用できるものです。

var result = list.AsQueryable().Cast<Info>().Select(x => new
    {
        AccountId = x.AccountId,
        Name = x.Name
    });

select ステートメントの new キーワードに続く括弧の間に、暗黙的に型指定された 2 つの読み取り専用フィールド (AccountId と Name) を持つ匿名型を作成しています。お役に立てれば!

リンクされた(しゃれた意図のない)記事からこの引用を投稿したいと思います。

通常、匿名型はクエリ式の select 句で使用され、ソース シーケンス内の各オブジェクトからプロパティのサブセットを返します。クエリの詳細については、「LINQ クエリ式 (C# プログラミング ガイド)」を参照してください。

于 2013-06-26T12:15:08.873 に答える