2010-05-06 1 views
2

Expression Trees을 구축하는 동안 .NET FCL에 내장 된 우선 순위 개념을 활용할 수 없습니다. Ref System.Linq.Expressions Namespace. 이 코드는 수동으로 코드에서 처리해야하거나, 어쨌든 암묵적이며인지하지 못하고 있습니다. 아마도 헬퍼 메서드 또는 클래스를 통해 알 수 있을까요? 트리가 우선 순위가 트리에서 부호화되었는지 같이표현식 트리에 대한 우선 순위가 기본 제공됩니까?

는 I 3 개 53 + 5 개 * 10 개 결과 대신 80

+0

식 트리에서 우선 순위 처리가 없다는 것을 나는 생각하지 않을 것이다. (따라서 코멘트와 대답이 아니다.) 나무는 실제로 이것을위한 흔들림 공간을 남기지 않기 때문에. 예를 들어'a + b * c '를 표현식 트리로 변환하는 코드를 작성하고 올바르게 작성하면 트리는 다음과 같이 보입니다 :'a + ''expression1'은'b * c'이고, 이것이 실제로 당신이 발사 한 것보다 다른 방법으로 평가할 수있는 방법이 없습니다. –

답변

1

코드를 표현하는 요점 있도록 수학 연산에 적용 할 구조 자체이므로, 신경 쓸 필요가 없습니다.

+0

누군가가 FCL 내에서 추천 우선 순위 규칙에 따라 트리를 인코딩하도록 도우미 클래스를 알고 있다면 훨씬 더 나아질 것입니다. –