使用具有相同基类的不同对象实例设置对象基础的实例

时间:2016-10-26 00:01:53

标签: c# mapping

我提前道歉 - 我自学... 是否有一种简单的方法可以将基类的所有属性设置为继承相同基类的不同类的相同属性。例如:

class Foo : Person
{
}

class Bar : Person
{
}

class Person
{
    string FirstName {get; set;}
    string LastName {get; set;}
    //hundreds more...
}

所以,如果我有:

var x = new Foo()
{
    FirstName = "John",
    LastName = "Doe",
    //hundreds more...
};
var y = new Bar();

如何轻松地将所有这些属性从x映射到y而无需单独指定每个属性?

我的想法是这样的:y.base = x.base;但这似乎不起作用......

1 个答案:

答案 0 :(得分:0)

我建议创建mapper方法 例如:

 public class Person
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }

        public void Copy(Person person)
        {
            this.FirstName = person.FirstName;
            this.LastName = person.LastName;
        }
    }

和新实例

 var x = new Foo()
            {
                FirstName = "John",
                LastName = "Doe",
            };
            var y = new Bar();
            y.Copy(x);
相关问题