3
我需要定義一個執行淺拷貝的Clone()方法。 (沒有深層複製需要)memberwiseclone也會複製派生類中定義的成員嗎?
但我需要複製派生類的成員。
如果我有
class Base {
int baseMember;
public (virtual?) Base Clone() {
return (Base)this.MemberwiseClone()
}
}
那麼我應該得到所有其他類的clone()? 是否也將由Base.Clone()複製derivedMember?
class Derived {
int derivedMember; //will this also be copied by base.Clone()?
//Necessary?
public new Derived (override Base?) Clone() {
return (Derived)this.MemberwiseClone();
}
}
'無論您調用哪個函數,MemberwiseClone()'都是相同的函數。 – SLaks
既然'Clone'返回'Base',它不會包含來自'Derived'的任何東西,可能會更好地實現'IClonable'並從你的克隆方法返回'object' –