c# 返回一个对象实例的浅副本

我们知道,引用类型的对象使用常规的赋值方式只是将对象指针赋给变量,但有些时候,我们希望赋值是赋一个副本而不是指针,那么可以用对象提供的类似Clone()方法来获取对象的浅副本,但一些对象并未提供类似的方法,那么我们可以用下面的方法来获取对象的浅副本:

MethodInfo mi = typeof ( object ).GetMethod( " MemberwiseClone " ,BindingFlags.NonPublic  |  BindingFlags.Instance);
return  mi.Invoke(objectSource, null );

如果是自己定义的类,可以自己加入一个Clone方法:
Public myObject Clone()
{
    
return (myObject)base.MemberWiseClone();
}

你可能感兴趣的:(C#)