首页 新闻 搜索 专区 学院

C# winfrom 怎么知道初始化的类

0
悬赏园豆:5 [已解决问题] 解决于 2021-07-13 15:26

这个是正常的

public partial class member:from

{

  public member()
        {
            
            InitializeComponent();
          
                
           
        }

     private void member_Load(object sender, EventArgs e)

  {

    //我是要在这里知道是member 还是member2

  }

}

然后我建立子类

public partial class member2 : member
    {
        
        public member2 : base()
        {
           

        }
    }

问我怎么知道当前初始化的是用了父类还是子类

LuoCore的主页 LuoCore | 初学一级 | 园豆:102
提问于:2018-08-07 14:44
< >
分享
最佳答案
0

跟到调试F11走几遍就清楚规则了 —— 这仅仅只是规则而已。不带参的或者缺省,默认父类的不带参,慢慢试

收获园豆:5
花飘水流兮 | 专家六级 |园豆:13267 | 2018-08-07 18:20

你估计理解错了

LuoCore | 园豆:102 (初学一级) | 2018-08-08 12:48
其他回答(5)
0

base()

this()

猝不及防 | 园豆:2527 (老鸟四级) | 2018-08-07 16:13

没看懂你说的这个。能具体点?

支持(0) 反对(0) LuoCore | 园豆:102 (初学一级) | 2018-08-08 12:48
0

你不知道可以单步看看。

爱编程的大叔 | 园豆:30773 (高人七级) | 2018-08-07 16:33

你估计理解错了

支持(0) 反对(0) LuoCore | 园豆:102 (初学一级) | 2018-08-08 12:48

@键盘上落下的泪: 你估计应该想想怎么说,才能让人不理解错。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30773 (高人七级) | 2018-08-08 12:59
0

先初始化父类再初始化子类

前行丶 | 园豆:219 (菜鸟二级) | 2018-08-07 17:28

你估计理解错了

支持(0) 反对(0) LuoCore | 园豆:102 (初学一级) | 2018-08-08 12:48

@键盘上落下 不就是看是当前是member调用了member_Load 还是member2呗  用this反射不就ok了

支持(0) 反对(0) 前行丶 | 园豆:219 (菜鸟二级) | 2018-08-09 10:49
0

你new的是哪个类型的对象,就初始化哪个类啊。

如果是new一个子类对象,会先初始化父类中的字段和构造方法

左眼水星 | 园豆:54 (初学一级) | 2018-08-07 17:43

你估计理解错了

支持(0) 反对(0) LuoCore | 园豆:102 (初学一级) | 2018-08-08 12:48
0

为什么要在父类里知道实例是哪个子类呢,我觉得你的设计可能有点问题。可以通过多态来把子类相关的操作放在子类里实现。

会长 | 园豆:11048 (专家六级) | 2018-08-08 17:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册