F#Quotation生成非常奇怪的编译错误

时间:2016-08-01 17:30:27

标签: f# quotations

我想弄清楚为什么以下这一行:

let emailQuotation: Expr<LoginView -> string> = <@ fun (v: LoginView) -> v.Email.Text @>

失败并出现编译错误,说&#34;在不确定类型上查找对象...&#34;。属性ViewModel.Email是一个Xamarin表单Entry,包含Text属性。

编译器需要哪些更多信息,以及为什么它无法解释这个表达式?

1 个答案:

答案 0 :(得分:1)

我的解决方案很难看。我可以这样做:

let emailQuotation = <@ fun (v: LoginView) -> let email: Entry = v.Email in email.Text @>

报价无法解释v.Email的类型。我不是代码引用方面的专家,因此可能有一种方法可以让编译器在单个表达式中选择类型。