Мое выражение невелико, и я хотел бы улучшить их, поэтому мне интересно, может ли кто-нибудь объяснить мне, возможно ли создать свойство в классе, которому может быть присвоено значение при создании экземпляра, например:
new Column<Product>{ ColumnProperty = p => p.Title};
или, что еще лучше (но я думаю, что я настаиваю на этом)
new Column {ColumnProperty = p => p.Title};
с классом, подобным этому:
public class Column<TModel>
{
public Expression<Func<TModel, TProperty>> ColumnProperty { get; set; }
}
Основная идея заключается в следующемчто я создаю Grid из набора объектов Column примерно так.
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);
Возможно, это не самый простой и простой способ сделать это, но мне интересно знать, можно ли это сделать так, как я хочучтобы улучшить мое понимание выражений, и мне нравится иметь возможность иметь строго типизированные значения вместо строковых литералов, с которыми гораздо приятнее работать.
Буду очень признателен за любые мысли, идеи, бессвязные выражения
Приветствия Роб