私の表情はあまり良くありませんので、私はそれらを改善したいので、誰かが私のために説明することができるかどうかは、このようなインスタンス化の間に値を与えることができるクラスでプロパティを作成することができますか?式<Func <TModel、TProperty >>をオブジェクトの初期化のプロパティとして使用しますか?
public class Column<TModel>
{
public Expression<Func<TModel, TProperty>> ColumnProperty { get; set; }
}
:
new Column<Product>{ ColumnProperty = p => p.Title};
またはより良いまだ、このようなクラスの何かを
new Column {ColumnProperty = p => p.Title};
を(しかし、私はそれを押していますだと思います)それの背後にある基本的な考え方は、このようなColumnオブジェクトの束からGridを作成することです。
List<Product> productList = GetProductsFromDb();
List<Column> columnList = new List<Column>();
columnList.Add(new Column<Product> {ColumnProperty = p => p.ProductId, Heading = "Product Id"});
columnList.Add(new Column<Product> {ColumnProperty = p => p.Title, Heading = "Title"});
Grid myGrid = new Grid(productList, columnList);
これは、これを行うにはtidiest /最も簡単な方法ではないかもしれないが、私は表現の私の理解を向上させたいと私は代わりに、強く型付けされた値を持つことができることを愛するよう、それは行うことができますかどうかを知ることに興味を持っています文字列リテラルの場合、それはとてもうまく動作します。
任意の考え、アイデア、とりとめが大幅
乾杯 ロブ
こんにちはidursun - ありがとう、これも動作します - 私はオブジェクトの代わりに動的を使用しましたが、結果は同じです – Rob