1

剂量 boo 了解表达式树?

我尝试用尖锐的发展来编译这一行

exp as System.Linq.Expressions.Expression[of Func[of SomeClass, bool]] = { p as Text | return (p.Name == 'tttt') } 

但尖锐的发展提出了这个错误

Cannot convert 'callable(testlinq.SomeClass) as bool' to 'System.Linq.Expressions.Expression[of System.Func[of testlinq.SomeClass, bool]]'. (BCE0022) 
4

1 回答 1

1

Boo 的表达式树比 C# 长。

http://ayende.com/blog/3065/meta-methods

[Meta]
static def verify(expr as Expression):
    return [|
        unless $expr:
            raise $(expr.ToCodeString())
    |]

IIRC Boo 旨在允许元编程宏(很像 Lisp、Nemerle 和许多其他函数式语言),因此允许完全访问任何 Boo 代码片段的 AST。

现在这一切都是从长期记忆中提供的,所以我建议您查阅 Boo 文档以获取最新信息。

于 2011-08-09T09:18:36.187 回答