我想知道ScriptReference
是否有充分理由不覆盖Equals
。这肯定会使ScriptReferenceCollection
中的生活更容易(例如Contains
),不是吗?
答案 0 :(得分:1)
它有太多的属性可能会有所不同,使得使用某种形式的基于价值的平等是可行的。
另请注意,它没有被密封,因此其子类型可能会引入其他属性,这些属性会使任何现有的相等代码无效,从而使相等测试更加复杂。
答案 1 :(得分:0)
我的猜测是框架团队忘记了,这不太可能,但可能会发生。或者他们只是没有看到需要,通常使用引用对象,您不会覆盖Equals方法,除非您使用某种实体对象,该实体对象需要在不同的引用之间进行比较,例如字符串或Uri。虽然这很容易实现,因为它只需要两个值。所以说实话,我不知道为什么。