【问题标题】:Interface member with multiple arguments具有多个参数的接口成员
【发布时间】:2023-03-05 01:35:01
【问题描述】:

如何声明带有两个参数的接口成员?比如:

type IService = 
   abstract myMember: (a:int) (b:string) -> result

【问题讨论】:

    标签: f#


    【解决方案1】:

    对于有两个参数的函数:

    type IService = 
       abstract member myMember: int -> string -> string
    

    或者,您可以使用元组:

    type IService = 
       abstract member myMember: int * string -> string
    

    语法为int -> string -> string(其中箭头表示函数的返回)的原因是因为默认情况下可以部分应用F#中具有多个参数的函数。

    还需要注意的是,如果您正在编写一个打算从其他 .net 语言中使用的库,则应该使用元组形式。

    【讨论】:

    • 重要提示:如果您打算从其他 .NET 语言(例如 C# 或 VB.NET)使用此接口,则应使用元组形式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-12
    • 2012-10-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多