Jul*_*les 0 .net c# vb.net equivalence
我有一个名为'Value'的属性的类,它是Object类型.值可以是任何类型,结构,类,数组,IList等.
我的问题在于设置器并确定值是否已更改.对于值类型来说这很简单,但引用类型和列表存在问题.
对于一个类,您会假设Equals方法已正确实现,或者只是假设每次调用setter时值都已更改?如果我确实认为它已经改变了,那么也许我应该将其视为值类型,以便行为是一致的.
对于列表,我可以检查大小,然后检查集合中的每个项目,看看它们是否已更改.
你们怎么处理这个问题?
而不是拥有
object Value
Run Code Online (Sandbox Code Playgroud)
你可以宣布
IEquatable<T> Value
Run Code Online (Sandbox Code Playgroud)
这样您就知道Value的所有实例都将实现Equals方法.因此,您可以检查两个实例的相等性.
归档时间: |
|
查看次数: |
201 次 |
最近记录: |