将属性从A类复制到B类

时间:2011-01-06 04:18:07

标签: c# .net

使用C#,有没有办法从A类中复制已设置的属性(如果我没有在A类中设置某些属性,我不希望将其复制到B类)?

示例:

class A
{public string Name {get;set;}
public string Age {get;set;}
}

class B
{public string Name {get;set;}
public string Age {get;set;}
}


A a = new A(){name ="bob"}

现在我有B b = new B(){Age = 30}; 我需要将A复制到B,这样B的名称就会被设置,而Age会保持不变。感谢

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:0)

嗯,你可以这样做:

if (b.Name == null) b.Name = a.Name;
if (b.Age == null) b.Age = a.Age;

但这不适用于值类型(如Int32)。对于那些,如果您控制类型的定义,则可以使用Nullable<T>