以下がオブジェクトのList<>を関数に渡し、関数が操作する各オブジェクト内でどのプロパティを使用するかを指定できるかどうかを誰かが知っていますか?
クラス全体でオブジェクトの特定のプロパティを操作するクラスがありますが、そのオブジェクトの異なるプロパティを操作するために同じクラスの複数のコピーを作成したくありません。Linqを使用することを考えましたが、操作クラスの他の関数で使用するプロパティを指定する方法がわかりません。
各プロパティを処理するために同じクラスを作成するのではなく、これを行うためのよりエレガントな方法が必要だと考えていました。Reflectionを使用して、どのプロパティを使用するかを関数に指示することを考えましたが、それは非常に速く醜くなります
疑似コードの例:
class Store
{
int amount;
int id;
int serial;
}
class AggregationMethods
{
bool Has3Values( List<Store> places /* some other param to specify which property to use*/)
{
// do something with Store.amount or Store.id
}
// other functions to work with Store.amount or Store.id or Store.serial
}