C# 添加事件处理程序文字代码块

发布于 2024-12-06 02:27:29 字数 218 浏览 0 评论 0原文

是否可以在 C# 中添加文字代码块作为事件处理程序?例如:

Timer t = new Timer(1000);
t.Elapsed += new ElapsedEventHandler({ Console.WriteLine("Tick"); });

您可以在 PowerShell 中执行此操作,因此我认为在 C# 中也可能有某种方法可以执行此操作。

Is it possible to add a literal code block as an event handler in C#? Something like:

Timer t = new Timer(1000);
t.Elapsed += new ElapsedEventHandler({ Console.WriteLine("Tick"); });

You can do this in PowerShell, so I thought there might be some way to do this in C# too.

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

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

发布评论

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

评论(2

撩起发的微风 2024-12-13 02:27:29

您可以使用 lambda 表达式(C# 3.0 及更高版本):

t.Elapsed += (sender, args) => Console.WriteLine("Tick");

或匿名方法(C# 2.0 及更高版本):

// If you don't need the parameter values
t.Elapsed += delegate { Console.WriteLine("Tick"); };

// If you do need the parameter values
t.Elapsed += delegate(Object sender, ElapsedEventArgs args) {
    Console.WriteLine("Tick from {0}", sender); 
};

You can use a lambda expression (C# 3.0 and higher):

t.Elapsed += (sender, args) => Console.WriteLine("Tick");

or an anonymous method (C# 2.0 and higher):

// If you don't need the parameter values
t.Elapsed += delegate { Console.WriteLine("Tick"); };

// If you do need the parameter values
t.Elapsed += delegate(Object sender, ElapsedEventArgs args) {
    Console.WriteLine("Tick from {0}", sender); 
};
断念 2024-12-13 02:27:29
t.Elapsed += delegate(object sender, ElapsedEventArgs args)
             { 
                 Console.WriteLine["Tick"]; 
             });

或者,您也可以使用 lambda 语法:

t.Elapsed += (sender, args) => { Console.WriteLine["Tick"]; };
t.Elapsed += delegate(object sender, ElapsedEventArgs args)
             { 
                 Console.WriteLine["Tick"]; 
             });

Or, you could also use lambda syntax:

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