请问,
我要在父类中得到子类中某个实体类的PropertyChangedEventHandler 改怎么做?

解决方案 »

  1.   

    不要说在父类定义一个属性,然后在子类中get。
    这种方法不行。
      

  2.   

    属性定义为virtual,然后在子类中override
    public class A
        {
            private string _name;
            public virtual string name
            {
                
                get
                {
                    return _name;
                }
                set{
                    _name = value;
                }
            }
            public A(string str)
            {
                _name = str;
            }
            public A()
            {
            }
        }
        public class B:A
        {
            private string _name;
            public override string name
            {            get
                {
                    return _name;
                }
                set
                {
                    _name = value;
                }
            }
            public B(string str)
            {
                _name = str;
            }
        }
    通过下面进行测试:
    A classA = new A("classA");
                B classB = new B("classB");            Console.WriteLine(classA.name);
                Console.WriteLine(classB.name);
                Console.WriteLine(((A)classB).name);不知道是不是楼主要的效果?
      

  3.   

    在父类中写好PropertyChangedEventHandler 事件,自动是private void,
    形如
            protected  virtual void button2_Click(object sender, EventArgs e)
            {
                Application.Restart();
            }你修改为protected  virtual void。这样父类调用 用 base(子类控件,激发的事件event);