Biểu hiện của tôi không tuyệt vời và tôi muốn cải thiện chúng nên tôi tự hỏi nếu có ai đó có thể giải thích cho tôi nếu có thể tạo ra một tài sản trong một lớp có thể được nhận giá trị trong quá trình instantiation như sau:Biểu thức <Func <TModel, TProperty >> làm thuộc tính để khởi tạo đối tượng?
new Column<Product>{ ColumnProperty = p => p.Title};
hay vẫn tốt hơn (nhưng tôi nghĩ rằng tôi đang đẩy nó)
new Column {ColumnProperty = p => p.Title};
với một cái gì đó lớp như thế này:
public class Column<TModel>
{
public Expression<Func<TModel, TProperty>> ColumnProperty { get; set; }
}
Ý tưởng cơ bản đằng sau nó là tôi tạo ra một Grid từ một loạt các đối tượng Column giống như thế này.
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);
này có thể không phải/cách tidiest dễ nhất để làm điều này nhưng tôi muốn biết liệu nó có thể được thực hiện như tôi muốn cải thiện sự hiểu biết của tôi về biểu hiện và tôi thích được có thể có giá trị mạnh mẽ gõ thay vì của chuỗi chữ, nó đẹp hơn rất nhiều để làm việc.
Bất kỳ suy nghĩ, ý tưởng, lời huyên thuyên sẽ được đánh giá rất
Cheers Rob
Hey idursun - cảm ơn công trình này quá - tôi đã sử dụng năng động thay vì đối tượng nhưng kết quả là như nhau – Rob