将MVC模型类对象值复制到另一个对象

时间:2017-12-18 04:25:10

标签: c#

我有一个像

这样的课程
public class ControlViewModel 
{ 
  public string FieldType { get; set; } 
  public string FieldName { get; set; } 
}

我在控制器端为上面的类创建了对象和设置值,如

ControlViewModel cvm = new ControlViewModel(); 
cvm.FieldType ="TEXT"; 
cvm.FieldName ="TEXT1"; 

现在想要将'cvm'对象复制到另一个对象并仅更改值'FieldName'

1 个答案:

答案 0 :(得分:2)

使用对象的克隆

// Implement ICloneable to clone the object
public class ControlViewModel : ICloneable
{ 
  public string FieldType { get; set; } 
  public string FieldName { get; set; } 
  public object Clone()
    {
        return this.MemberwiseClone();
    }
}

ControlViewModel cvm = new ControlViewModel(); 
cvm.FieldType ="TEXT"; 
cvm.FieldName ="TEXT1";

// Copy object    
ControlViewModel cvm2 = (ControlViewModel)cvm.Clone() ;
cvm2.FieldName ="TEXT2";

MemberwiseClone()创建当前System.Object的浅表副本。 ref https://msdn.microsoft.com/en-us/library/system.object.memberwiseclone(v=vs.110).aspx