首页新闻找找看学习计划

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

0
悬赏园豆:5 [待解决问题]

这个是正常的

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()
        {
           

        }
    }

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

键盘上落下的泪的主页 键盘上落下的泪 | 初学一级 | 园豆:88
提问于:2018-08-07 14:44
< >
分享
所有回答(6)
0

base()

this()

猝不及防 | 园豆:1114 (小虾三级) | 2018-08-07 16:13

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

支持(0) 反对(0) 键盘上落下的泪 | 园豆:88 (初学一级) | 2018-08-08 12:48
0

你不知道可以单步看看。

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

你估计理解错了

支持(0) 反对(0) 键盘上落下的泪 | 园豆:88 (初学一级) | 2018-08-08 12:48

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

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

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

Not`Anymore | 园豆:217 (菜鸟二级) | 2018-08-07 17:28

你估计理解错了

支持(0) 反对(0) 键盘上落下的泪 | 园豆:88 (初学一级) | 2018-08-08 12:48

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

支持(0) 反对(0) Not`Anymore | 园豆:217 (菜鸟二级) | 2018-08-09 10:49
0

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

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

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

你估计理解错了

支持(0) 反对(0) 键盘上落下的泪 | 园豆:88 (初学一级) | 2018-08-08 12:48
0

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

花飘水流兮 | 园豆:10177 (专家六级) | 2018-08-07 18:20

你估计理解错了

支持(0) 反对(0) 键盘上落下的泪 | 园豆:88 (初学一级) | 2018-08-08 12:48
0

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

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