【问题标题】:Is It Possible To Combine Multiple Attributes In F#?是否可以在 F# 中组合多个属性?
【发布时间】:2012-03-09 00:02:33
【问题描述】:

我正在尝试找出这个 C# 属性声明的 F# 等价物:

[
   ComImport(),
   InterfaceType(ComInterfaceType.InterfaceIsIUnknown),
   Guid("000214EE-0000-0000-C000-000000000046")
]

我可以做到这一点,它编译得很好:

[<ComImport>]
[<InterfaceType(ComInterfaceType.InterfaceIsIUnknown)>]
[<Guid("000214EE-0000-0000-C000-000000000046")>]

但我现在很好奇——是否可以在 F# 中组合多个属性?当我对前两个属性尝试这样的事情时:

[<ComImport>,<InterfaceType(ComInterfaceType.InterfaceIsIUnknown)>]

我收到 FS0010 错误。也试过这个:

[<ComImport , InterfaceType(ComInterfaceType.InterfaceIsIUnknown)>]

同样的结果。

这可能吗?如果可以,正确的语法是什么?

【问题讨论】:

    标签: f# attributes


    【解决方案1】:

    是的。

    [<
      ComImport; 
      InterfaceType(ComInterfaceType.InterfaceIsIUnknown); 
      Guid("000214EE-0000-0000-C000-000000000046")
    >]
    

    【讨论】:

    • 谢谢丹尼尔——我想我遗漏了一些明显的东西。
    • 顺便说一句 Daniel 这是在 F# 文档中吗?我只是错过了在在线文档中看到它吗?
    • 是的。大约半途而废the page
    • 我很困惑为什么当属性在不同的行(如列表元素)时不能省略分号。
    • 天啊!我什至看了那个页面。这就是我略读而不是阅读所得到的。再次感谢丹尼尔的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-27
    相关资源
    最近更新 更多