我正在大量自定义对象上实现ICloneable
。某些对象的类型为DateTime
,这是一个结构值。我知道这个值可以使用newDateTime = oldDateTime
复制,但如果我在对象上使用MemberwiseClone()
,它会自动复制DateTime
对象吗?我认为不是,因为DateTime
本身并不实现ICloneable
。
DateTime
是一种值类型,与int
类似。因此,它将被MemberwiseClone()复制。
由于DateTime
是值类型,因此它将被复制。
Object.MemberwiseClone方法-MSDN
MemberwiseClone方法通过创建新的对象,然后将当前对象的非静态字段复制到新对象如果字段是值类型,则字段如果字段是引用类型,则引用为已复制但引用的对象未被复制;因此,原始对象和它的克隆引用相同的对象。