猿问

面向对象继承问题

 1 public class Father 2 { 3     public string LastName { get; set; } 4 } 5  6 public class Son : Father 7 { 8     public string FirstName { get; set; } 9 }


有这样两个简单的Class,问题是这样:

假设我现在已经有了一个Father的实例,有没有方法获得一个Son的实例,不通过逐个属性赋值,将Father的数据继承下来?


芜湖不芜
浏览 492回答 2
2回答

梵蒂冈之花

不能。 虽然我说了不能,但是我还是给出一种曾经的解决方案,此方案很巧妙,但是劝你别这样用,不过它确实做到了不是“一个字段一个字段的赋值”,而是对“所有字段值的整体拷贝”。

胡说叔叔

这个需求挺奇怪的,为什么要这样设计呢。如果不逐个属性复制,可以通过反射来实现,遍历Father类实例里面public和protect的属性,获取其值,实例化一个Son类的实例。
随时随地看视频慕课网APP
我要回答