无操作 lambda

发布于 2024-07-27 12:49:07 字数 277 浏览 1 评论 0原文

我的一个类中有一个事件,我想将处理程序附加到该事件。 但是,我不需要处理程序执行任何操作,因为我只是测试附加或不附加处理程序的类的行为。

事件签名如下:

public event EventHandler<EventArgs> Foo;

所以我想做类似的事情:

myClass.Foo += ();

但这不是有效的 lambda 表达式。 最简洁的表达方式是什么?

I have an event on one of my classes that I want to attach a handler to. However, I don't need the handler to do anything, as I am just testing the behaviour of the class with handlers attached or not.

The event signature is as follows:

public event EventHandler<EventArgs> Foo;

So I want to do something like:

myClass.Foo += ();

However this isn't a valid lambda expression. What is the most succinct way to express this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

场罚期间 2024-08-03 12:49:07
myClass.Foo += (s,e) => {};

或者

myClass.Foo += delegate {};
myClass.Foo += (s,e) => {};

or

myClass.Foo += delegate {};
埋葬我深情 2024-08-03 12:49:07
(x,y) => {} //oops forgot the params

好的? :)

或者

delegate {}
(x,y) => {} //oops forgot the params

OK? :)

Or

delegate {}
当爱已成负担 2024-08-03 12:49:07

尝试这个:

myClass.Foo += delegate {};

Try this:

myClass.Foo += delegate {};
一杆小烟枪 2024-08-03 12:49:07

与其事后附加委托,更常见的方法是立即分配它:

public event EventHandler<EventArgs> Foo = delegate {};

我更喜欢在此处使用匿名方法语法而不是 lambda 表达式,因为它将与各种不同的签名一起使用(诚然,不是那些带有 out 参数或返回值)。

Rather than attach a delegate afterwards, the more common way is to do assign it immediately:

public event EventHandler<EventArgs> Foo = delegate {};

I prefer using the anonymous method syntax over a lambda expression here as it will work with various different signatures (admittedly not those with out parameters or return values).

梦回旧景 2024-08-03 12:49:07

尝试这个:

myClass.Foo += (s,e) => {};

Try this:

myClass.Foo += (s,e) => {};
美胚控场 2024-08-03 12:49:07

通过 lambda 附加事件,如下所示:

myClass.Foo += (o, e) => {
    //o is the sender and e is the EventArgs
};

Attach the event via a lambda like such:

myClass.Foo += (o, e) => {
    //o is the sender and e is the EventArgs
};
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文