いくつかのプロパティを持つ単純なクラスがあり、select
別のオブジェクトを返すためにメソッドを公開できるようにしたいと考えています (linq select メソッドのように)。例えば:
class Person
{
public string Name{get; set;}
public string Address {get; set;}
public string City {get; set;}
public TItem SelectProjection(..);
}
Person p = new Person();
var other = p.SelectProjection(p => new { p.Name, p.City});
これは可能ですか?
@@編集
ビジネスロジック用のカスタムクラスがありますが、IList
分離されたコードを維持するためだけに公開しています (いいえIQueryable
)。したがって、プロジェクションを実行したい場合は、プロパティ文字列にコンマ区切りを入力できます。
BusinessClass.SelectFields = "Name, Surname, City";
ただし、間違ったプロパティ名をキー入力するのは簡単なので、ラムダを好みます。
BusinessClass.SelectField = p => new {p.Name, p.Surname, p.City};