在C#中键入名称别名

时间:2009-06-05 10:43:25

标签: c# functional-programming types

  

可能重复:
  typedef in C#?
  STL like containter typedef shortcut?

我想知道是否有一个等同于我可以在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
}

在任何人提到接口之前,所讨论的所有类都已经实现了接口,并且这些接口有多种不同的实现。

1 个答案:

答案 0 :(得分:0)

根据您实际尝试做的事情(给出一个更完整的示例),您可能确实需要接口(使用得当)和/或泛型。