C# 将继承的方法订阅到构造函数中的事件,然后在继承的类中调用该构造函数
我似乎在C#中遇到了构造函数、继承和事件订阅方面的问题 考虑以下C#程序: 我想要的是显示文本。i、 我想订阅基类中事件的继承基类方法,然后能够调用子类中的构造函数,并在触发该事件时调用子类的事件方法,而不是基类 有没有办法做到这一点C# 将继承的方法订阅到构造函数中的事件,然后在继承的类中调用该构造函数,c#,events,inheritance,constructor,subscription,C#,Events,Inheritance,Constructor,Subscription,我似乎在C#中遇到了构造函数、继承和事件订阅方面的问题 考虑以下C#程序: 我想要的是显示文本。i、 我想订阅基类中事件的继承基类方法,然后能够调用子类中的构造函数,并在触发该事件时调用子类的事件方法,而不是基类 有没有办法做到这一点 new public void myEvent() 这将创建一个新事件。你不会想要的。在基类中使事件虚拟,并在此处使用覆盖而不是新建。将基类方法标记为虚拟,您的问题将得到解决 public virtual void myEvent() { } 您需要将方法设
new public void myEvent()
这将创建一个新事件。你不会想要的。在基类中使事件
虚拟
,并在此处使用覆盖
而不是新建
。将基类方法标记为虚拟,您的问题将得到解决
public virtual void myEvent() { }
您需要将方法设置为虚拟:
public class Base
{...
public virtual void myEvent() { }
并覆盖它
public class Derived : Base
{
...
public override void myEvent()
{
System.Console.WriteLine("The event was fired, and this text is the response!");
}
}
public class Derived : Base
{
...
public override void myEvent()
{
System.Console.WriteLine("The event was fired, and this text is the response!");
}
}