eduics 2021-10-26 20:41 采纳率: 42.9%
浏览 12
已结题

C#不使用反射机制如何为委托添加事件

接口:

public delegate int ChildEventHandle(object arg1, object arg2);
    public interface IChildEvent
    {
        event ChildEventHandle add;
    }

ChildPage继承接口:

class ChildPage: Window,IChildEvent
    {
#pragma warning disable
        public MainWindow parentWindow;
        public event ChildEventHandle add;
        public event ChildEventHandle sub;
        public event ChildEventHandle mulity;
#pragma warning restore
        protected virtual void AddEvent(object arg1, object arg2)
        {
            //实例化委托对象,发起调用
            ChildEventHandle handle = add;
            if (arg1.GetType().ToString() == "System.Int32" && arg2.GetType().ToString() == "System.Int32")
                handle(arg1, arg2);
            else MessageBox.Show("参数输入有误,请重新输入!!");
        }
}

WindowChild继承ChildPage

public partial class WindowChild : ChildPage
    {
        public WindowChild()
        {
            InitializeComponent();
            base.parentWindow = this;
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            //调用父类中已经默认实现的类发起事件
            base.AddEvent(txtBox1.Text, txtBox2.Text);
        }       
    }

报错如下,我应该怎么添加事件处理函数呢:

public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            WindowChild son = new WindowChild();
            //定义真正的事件处理函数,通过lamba表达式
           //son.add+=????????报错,找不到add
        }
    }

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 11月3日
    • 创建了问题 10月26日

    悬赏问题

    • ¥15 自适应 AR 模型 参数估计Matlab程序
    • ¥100 角动量包络面如何用MATLAB绘制
    • ¥15 merge函数占用内存过大
    • ¥15 Revit2020下载问题
    • ¥15 使用EMD去噪处理RML2016数据集时候的原理
    • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
    • ¥15 单片机无法进入HAL_TIM_PWM_PulseFinishedCallback回调函数
    • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
    • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
    • ¥15 如何在炒股软件中,爬到我想看的日k线