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

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

问题描述

我想有这需要一个枚举仅作为参数的事件。例如:



 公共枚举MyEvents {
事件1
}

//我怎么这样声明采取枚举MyEvents作为参数
公共静态事件的EventHandler EventTriggered;

公共静态无效触发(MyEvent事件)
{
如果(EventTriggered!= NULL)
{
EventTriggered(事件);
}
}


解决方案

您声明一个委托的参数:

 公共枚举MyEvents {事件1} 

公众委托无效一个MyEventHandler( MyEvents E);

公共静态事件一个MyEventHandler EventTriggered;



虽然在框架中的所有事件,需要一个参数,它是或 EventArgs的派生,你可以使用任何你喜欢的参数。然而,人们可能会期望在框架中使用的模式,这可能使你的代码更难理解。


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;

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天全站免登陆