C#에서 생성자, 상속 및 이벤트 구독과 관련된 문제가있는 것 같습니다. 텍스트입니다 내가 원하는생성자의 이벤트에 상속 된 메서드를 가입시킨 다음 상속 된 클래스에서 해당 생성자를 호출합니다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EventTest
{
public class Widget
{
public delegate void MyEvent();
public event MyEvent myEvent;
public void SetEvent()
{
myEvent();
}
}
public class Base
{
Widget myWidget;
protected Base() { }
protected Base(Widget awidget)
{
myWidget = awidget;
myWidget.myEvent += myEvent;
}
public void myEvent() { }
}
public class Derived : Base
{
public Derived(Widget awidget) : base(awidget) { }
new public void myEvent()
{
System.Console.WriteLine("The event was fired, and this text is the response!");
}
}
class Program
{
static void Main(string[] args)
{
Widget myWidget = new Widget();
Derived myDerived = new Derived(myWidget);
myWidget.SetEvent();
}
}
}
가 표시 될 :
는 다음과 같은 C# 프로그램을 고려하십시오. 즉 상속 된 기본 메서드를 기본 클래스의 이벤트에 구독 한 다음 하위 클래스의 생성자를 호출하고 해당 이벤트가 발생할 때 하위 클래스의 이벤트 메서드가 기본 클래스 대신 호출되도록 할 수 있습니다.
이렇게 할 방법이 있습니까?