【发布时间】:2026-01-21 06:25:01
【问题描述】:
我正在使用 F# 编写小程序,只是为了个人培训,得到了一些时间,我无法解决。
我在描述一些界面:
type IСalculations =
abstract member Add : int * int -> int
abstract member Subtract : int * int -> int
abstract member Multiply : int * int -> int
abstract member Divide : int * int -> int
如你所见,除了名字之外的成员签名都是一样的。
我能用 F# 做下一个吗(现在将是伪代码):
let names = [ "Add", "Subtract", "Multiply", "Divide" ];
let ICalculations = new interface;
foreach ( name in names ) {
ICalculations[ name ] : int * int -> int
}
目的不是为每个成员重复签名int * int -> int
有可能吗?
【问题讨论】:
-
考虑是否可以在 F# 没有接口的情况下对问题建模:*.com/a/34028711/126014
标签: dynamic types interface f#