0

我在重复自己,并违反DRY。我需要的是一个实现运算符 == 和 != 以及 GetHashCode 和 Equals 的基类。基类必须列出最顶层派生类的所有属性(通过反射?)。并在这些算子函数中比较这些属性,或者在 GetHashCode 中组合它们的哈希码。

示例伪代码:

    public static Boolean operator == (KeyValue A, KeyValue B)
    {
        List<PropertiesOfKeyValueClass> Properties = Reflection.GetProperties(KeyValue);
        foreach (Property prop in Properties)
        {
            if (A.prop != B.Prop) return false;
        }
    }

我无法想象这还没有在 .Net 框架中实现,但我找不到它。因此,我认为我可以先在 StackOverflow 上询问,而不是“发明轮子”。

4

0 回答 0