我想将类型名称(例如int
,或string
,甚至用户定义类型的名称)作为函数参数传递。目前我正在做以下事情:
type IntegerOrIntegerList =
| Integer of int
| IntegerList of int list
let f (n : int) (d : 'T) : IntegerOrIntegerList =
match (box d) with
| :? int as i -> Integer(n)
| _ -> IntegerList([0 .. n])
但是d
上面的存在是偶然的。表达上述逻辑的惯用 F# 方式是什么?
在此先感谢您的帮助。