C# 4.0 我是比较者还是合格者?

C# 4.0 我是比较者还是合格者?,c#-4.0,C# 4.0,我有两种不同的类型,TypeA和TypeB,它们都是相关的,因为它们描述了相同的概念,但从不同的角度来看——尽管存在着松散的时间关系 我想创建一个实用方法,它测试我传递到实用方法中的两种类型是否实际上是相关的 这些对象不是直接公平的,但我认为它们可能是可比较的(它们是可比较的),但是当我查看IComparable的描述时,它建议应该实现这一点以帮助对数组进行排序 是否有更好的接口可以使用,或者我应该创建自己的比较器例程,它不实现任何接口。这就是我现在要说的,但我认为可能会有一个更特定于模式的解决

我有两种不同的类型,TypeA和TypeB,它们都是相关的,因为它们描述了相同的概念,但从不同的角度来看——尽管存在着松散的时间关系

我想创建一个实用方法,它测试我传递到实用方法中的两种类型是否实际上是相关的

这些对象不是直接公平的,但我认为它们可能是可比较的(它们是可比较的),但是当我查看IComparable的描述时,它建议应该实现这一点以帮助对数组进行排序


是否有更好的接口可以使用,或者我应该创建自己的比较器例程,它不实现任何接口。这就是我现在要说的,但我认为可能会有一个更特定于模式的解决方案,这就是问题所在。

我会选择自己的解决方案,因为无论是
IComparer
还是
IEquatable
都不符合您的要求


也许只要
bool IsRelatedTo()
实例方法就足够了?

IComparable
IEquatable
的子集。“可比”的意思不是“相似”,而是“可以比较以决定哪个更大或更小”。因此,一切可以比较的东西都已经是平等的了。