【问题标题】:How to create a custom renderer in F# for Xamarin.Forms如何在 F# 中为 Xamarin.Forms 创建自定义渲染器
【发布时间】:2016-10-30 19:52:23
【问题描述】:

我不知道把这条线放在哪里:

[<assembly: ExportRenderer (typeof<TransitoCDMX.Main.FbLoginPage>, typeof<FbLoginPageRenderer>)>] do()

在 C# 中,它通常以这种方式放在命名空间之前:

[assembly: ExportRenderer (typeof(TransitoCDMX.Main.FbLoginPage), typeof(FbLoginPageRenderer))]

【问题讨论】:

  • 程序集属性通常放在单独的文件中。但是应该可以做你在 C# 中所做的事情。你试过了吗?它奏效了吗?它是如何失败的?
  • @FyodorSoikin 问题是在 F# 中您不能引用尚未声明的类型。在 C# 上,您可以将程序集属性放在定义自定义渲染器的命名空间之前。
  • 所以将它放在定义之后的单独文件中。或者将其放在定义之后的同一文件中。我认为没有问题。
  • 可能你是对的,但无论如何我在运行时遇到了一个错误,可能是 Xamarin 的一个错误......所以我决定只为逻辑保留使用 F#,并在所有内容上使用 C#否则。

标签: f# xamarin.forms customization


【解决方案1】:

-“问题在于,在 F# 中,您不能引用尚未声明的类型。在 C# 中,您可以将程序集属性放在定义自定义渲染器的命名空间之前。”

-“所以将它放在定义之后的单独文件中。或者将它放在定义之后的同一个文件中。我没有看到问题。”

https://docs.microsoft.com/en-us/dotnet/articles/fsharp/language-reference/attributes

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    • 1970-01-01
    • 2017-01-07
    相关资源
    最近更新 更多