c#实现IEqualityComparer对于泛型类T

本文关键字:泛型类 IEqualityComparer 实现 | 更新日期: 2023-09-27 18:08:11

是否有任何方法实现IEqualityComparer泛型类?

我试着:

public class MyComparer : IEqualityComparer<MyGenericClass>

这是错误的,因为MyGenericClass接受3个参数作为泛型,所以下一个

public class MyComparer : IEqualityComparer<MyGenericClass<A, B, C>>

是错误的,因为我不知道A,B,C。所以

public class MyComparer<MyGenericClass<A, B, C>> : IEqualityComparer<MyGenericClass<A, B, C>>

是错误的。有实现这一点的方法吗?由于

c#实现IEqualityComparer<T>对于泛型类T

你很接近了

public class MyComparer<A, B, C> : IEqualityComparer<MyGenericClass<A, B, C>>

旁注,请不要将事物命名为A, B和c,这对任何人都没有帮助。标准命名约定为T<SomethingDescriptive>。在EF的情况下,可能是TEntity,在MVC或MVVM中,可能是TModelTViewModel