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

4

我正在努力弄清楚以下代码行的原因:

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

编译器报错,显示“在不确定类型的对象上查找对象...”。属性ViewModel.Email是一个Xamarin Forms Entry,包含一个Text属性。

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

1个回答

1
我的解决方案很丑陋。我可以做到这一点:

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

这个引用无法解释v.Email的类型。我不是代码引用方面的专家,所以可能有一种方法可以使编译器在单个表达式中捕捉到类型。


这个能行吗?fun (v: LoginView) -> (v.Email:Entry).Text - Joel Mueller
我会尝试。如果它有效,随意提交答案,我会点赞并将其标记为答案。 - Rob Lyndon
它运行得很好。如果您将其提交为答案,我会相应地标记它。 - Rob Lyndon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接