강력한 형식의 문 본문에서 할당을 캡처 할 수있는 메서드를 작성하려고합니다. 메서드 호출은 다음과 같아야합니다.MemberAssignments 가져 오기
myObject.Assign(o =>
{
o.SomeProperty = 1;
o.AnotherProperty = "two";
});
할당 목록을 얻고 싶습니다. MemberAssignment
인스턴스의 배열이 적합하다고 보입니다.
Assign()
의 메소드 헤더가 어떻게 보이는지 알아내는 것이 불투명합니다.
public class MyClass
{
public void Assign(System.Linq.Expressions.Expression<System.Action<MyBunchOfProps>> assignments)
{
}
}
public struct MyBunchOfProps
{
public int SomeProperty { get; set; }
public string AnotherProperty { get; set; }
}
, 나는 "성명 본체와 람다 표현식은 식 트리로 변환 할 수 없습니다"얻을.
본문을 생략하고 하나의 과제 (myObject.Assign(o => o.SomeProperty = 1);
) 만 수행하면 대신 "표현식 트리에 할당 연산자가 포함되어 있지 않을 수 있습니다"가 표시됩니다.
Expression
이 아닌 다른 클래스를 사용해야합니까?