1

現在、SQLでリフレクションを使用しています。特殊なクエリを作成する場合は、別のクラスを継承する新しいクラスを作成し、特殊なクエリ用に2つのメンバー/列を追加することで、結果を取得するのが最も簡単です。次に、c#コードのlibに反映されているため、foreach(var v in list){v.AnyMember and v.MyExtraMember)と書くことができます。

クラスを分散させたり、メインのDB.csファイルを変更したりする代わりに、関数内でクラスを定義できますか?new {name = val、name2 = ...};と書くことで、匿名オブジェクトを作成できることを知っています。しかし、このクラスをジェネリック関数func(query、args);で渡す必要があります。

4

3 に答える 3

3

TryGetMember/TrySetMember の実装の背後に Dictionary を非表示にすると、DynamicObject がニーズに役立つ可能性がありますこれには小さな例があります。リンクに従ってください。

于 2010-06-18T08:15:15.373 に答える
1

クラス (一般に型) はメソッド内で定義できません。どー。

于 2010-06-18T07:17:38.427 に答える
1

それは可能ですが (単純ではありません)、結果のクラスはコンパイル時にわからないため、v.MyExtraMember. 基本的に動的に作成された匿名オブジェクトを取得するため、リフレクションを使用して追加のメンバーにアクセスする必要があります。

于 2010-06-18T07:22:15.157 に答える