1
일반 클래스 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)
{ }
}
I 클래스 내에서 읽기 선택기를 사용할 수있게되었습니다. 예 :
sourceList.Select(_parentSelector.Compile()).Where(...
이제 선택기를 사용하여 필드 값을 설정하는 방법을 묻습니다. 당신이 표현 < >을 통과 왜 selector.Body() ... 필드와 같은 뭔가 ...
당신의 제안을 이해합니다. 감사. 하지만 두 개의 표현식을 전달해야합니다. 하나는 설정 용이고 다른 하나는 가져 오기 용입니다. 이것은 동일한 필드이기 때문에 다소 중복됩니다. 나는 단지 "this is the field"를 전달하고 setter와 getter를 일반적으로 구현하기를 희망했다. –
Linq 쿼리 구축 (엔티티 프레임 워크)에 필요하기 때문에 표현식을 사용하고 있습니다. –