to 照这样说,我是不是根本就没有办法对派生类中的属性值进行深度复制了?也就是说我在改变这个派生类中的属性值之后就根本没有办法拿到原来的值了? (条件是不想在派生类中让操作者自己实现,我想把clone的过程封装起来)你可以把Copy做成virtual,例如: ----in base class---- public virtual yourBaseClass Copy() { //Provide your base class copy-function }----in sub class---- public override yourBaseClass Copy() { //Provide your sub-class copy-function }
(条件是不想在派生类中让操作者自己实现,我想把clone的过程封装起来)
(条件是不想在派生类中让操作者自己实现,我想把clone的过程封装起来)你可以把Copy做成virtual,例如:
----in base class----
public virtual yourBaseClass Copy()
{
//Provide your base class copy-function
}----in sub class----
public override yourBaseClass Copy()
{
//Provide your sub-class copy-function
}