具有基本类型的F#元组

时间:2015-06-03 16:06:42

标签: f#

是否可以一起使用元组和类层次结构?

我无法接受一个函数来接受一个抽象类型的元组参数:

Sub D

1 个答案:

答案 0 :(得分:5)

注释序列中的元组不是从同一基类派生的。类型(XBase * string)的元组不是元组类(X * string)(Y * string)的基类。因此,这些具有2种不同类型的具体实例不能一起放入集合中。我认为任何.NET语言(C#,VB)都是如此。

所以你不能创建这个序列:

let tuples = [(new X(), ""); (new Y(), "")]

但是你可以用这两个序列来调用你的f1函数:

f1 [(new X(), ""); (new X(), "")]
f1 [(new Y(), ""); (new Y(), "")]