带有自定义参数的 C# 事件 [英] C# event with custom arguments

查看:33
本文介绍了带有自定义参数的 C# 事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想要一个仅将枚举作为参数的事件.例如

I want to have an event that takes an enum only as the argument. For example

public enum MyEvents{
   Event1
}

// how do I declare this to take enum MyEvents as argument
public static event EventHandler EventTriggered;

public static void Trigger(MyEvent event )
{
    if (EventTriggered != null)
    {
        EventTriggered(event);
    }
}

推荐答案

你为参数声明一个委托:

You declare a delegate for the parameters:

public enum MyEvents { Event1 }

public delegate void MyEventHandler(MyEvents e);

public static event MyEventHandler EventTriggered;

尽管框架中的所有事件都采用一个来自或派生自 EventArgs 的参数,但您可以使用任何您喜欢的参数.但是,人们可能会期望框架中使用的模式,这可能会使您的代码更难以遵循.

Although all events in the framework takes a parameter that is or derives from EventArgs, you can use any parameters you like. However, people are likely to expect the pattern used in the framework, which might make your code harder to follow.

这篇关于带有自定义参数的 C# 事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆