2016-08-01 53 views
4

我试图找出为什么下面一行:F#报价生成非常奇怪的编译错误

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

与编译错误而失败,说:“对不确定对象的类型查找...”。财产ViewModel.Email是Xamarin表格Entry,其中包含Text财产。

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

回答

1

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

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

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

+0

这项工作? '有趣(v:LoginView) - >(v.Email:Entry).Text' –

+0

我会尽力的。如果确实有效,请随时提交答案,我会加注并将其标记为答案。 –

+0

它很好用。如果您将此作为答案提交,我会对其进行相应标记。 –