【发布时间】:2010-09-09 20:51:12
【问题描述】:
我知道这可能是一个非常简单的问题,但我现在脑子里放了个屁。我正在尝试创建一种可以采用两种自定义类型之一的方法。基本上这种方法的主体对于这两种类型都是相同的,因为它们都有一个 Name 属性(我正在对 Name 属性进行比较以用于排序)。我该怎么做?
我的第一个想法就是用这两种类型作为参数重载方法:
int Compare(Type1 first, Type1 second)
int Compare (Type2 first, Type2 second)
但是方法的主体最终是相同的,因此这似乎是一种浪费。
我的下一个想法是使用泛型,但这似乎不对,因为我并没有真正将其设为泛型,因为它只能用于 2 种特定类型。
澄清:“自定义”类型实际上不是我的自定义类型。我的意思是它们不是内置类型。我无法控制这些类型或继承层次结构中的内容。他们只是碰巧都有 Name 属性。
【问题讨论】:
标签: c# generics overloading