我想知道是否有一个等同于我可以在C#中使用的功能语言的类型别名
例如,在一个很好的函数式语言(如Haskell)中,我可以说类似下面的内容,将现有类型别名为自定义类型名称
type MyCustomTypeName = String
我想这样做,因为我有一个我正在构建的API,其中我正在使用的一些对象具有多个可能的名称,因为它们可以通过几个可互换和等效的术语来引用。据推测,我可以通过继承做到这一点,但这似乎有些笨拙,如果人们开始扩展非规范类,那么可能会破坏,即。
public class CanonicalClass {
//Full Implementation
}
public class AlternateName : CanonicalClass {
//Empty except I'll need to redefine all the constructors
//Could declare it sealed but doesn't get rid of the need to redefine constructors
}
在任何人提到接口之前,所讨论的所有类都已经实现了接口,并且这些接口有多种不同的实现。
答案 0 :(得分:0)
根据您实际尝试做的事情(给出一个更完整的示例),您可能确实需要接口(使用得当)和/或泛型。