У меня есть общий класс HierarchicalBusinessObject. В конструкторе класса я передаю лямбда-выражение, которое определяет селектор в поле TModel..NET C#, задающее значение поля, заданного с помощью лямбда-селектора
protected HierarchicalBusinessObject
(Expression<Func<TModel,string>> parentSelector)
Вызов будет выглядеть следующим образом, например:
public class WorkitemBusinessObject :
HierarchicalBusinessObject<Workitem,WorkitemDataContext>
{
public WorkitemBusinessObject()
: base(w => w.SuperWorkitem, w => w.TopLevel == true)
{ }
}
Я могу использовать селектор для чтения в классе. Например:
sourceList.Select(_parentSelector.Compile()).Where(...
Теперь я спрашиваю себя, как использовать селектор для установки значения в поле. Что-то вроде selector.Body() .... Field ...
Я понимаю ваше предложение. Благодарю. Но тогда я должен передать два выражения: один для настройки и второй для получения. Это несколько избыточно, поскольку это одно и то же поле. Я надеялся передать только «это поле» и реализовать сеттер и геттер в целом. –
Кстати, я использую выражения, потому что мне нужны они для построения запроса Linq (сущность framework). –