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

标签 c# event-handling

是否可以在 C# 中添加文字代码块作为事件处理程序?像这样的东西:

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

您可以在 PowerShell 中执行此操作,所以我认为在 C# 中也可能有一些方法可以执行此操作。

最佳答案

您可以使用 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); 
};

关于C# 添加事件处理程序文字代码块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7530743/

相关文章:

c# - 检查当前和外部 .Net 进程是否启用了性能计数器?

c# - 停止/退出定时器

c# - 数组不支持类型 System.String

c# - 从类/对象列表中查找匹配字符串

javascript - React - SetState 处理程序方法

c++ - 在 .Net C++ 中将 EventHandler 转换为 MouseEventHandler?

c# - MVC4 Ajax.BeginForm 不替换 UpdateTargetId

wpf - 在 WPF 键处理程序中,我可以通过编程方式更改/覆盖按下的键吗?

javascript - 显示隐藏的 Div 在提交时保持隐藏状态

vb.net - 触发自定义类事件后,表单未更新