当前位置:  开发笔记 > 编程语言 > 正文

从.net中的现有基础对象创建派生对象

如何解决《从.net中的现有基础对象创建派生对象》经验,为你挑选了1个好方法。

愚蠢的问题.

假设我有一堆人物对象,他们的字段都填充了数据,我有一个员工类型,派生自人员类,并且有与员工相关的额外字段.如何获取特定现有人员对象的员工对象?即如何将人物对象传递给员工?



1> Marc Gravell..:

如果此人是作为员工创建的,那么只需执行:

Person person = new Employee(); // for some reason
...
Employee emp = (Employee)person;

如果这个人只是一个人:你不能; 您可以让员工封装 Person - 或者您可以复制字段:

class Employee { // encapsulation
  private readonly Person person;
  public Person {get {return person;}}
  public Employee(Person person) {this.person = person;}
  public Employee() : this(new Person()) {}
}

要么

class Employee : Person { // inheritance
  public Employee(Person person) : base(person) {}
  public Employee() {}
}
class Person {
    public Person(Person template) {
        this.Name = template.Name; // etc
    }
    public Person() {}
}

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有