是否可以在C#中添加文字代码块作为事件处理程序?类似的东西:
Timer t = new Timer(1000);
t.Elapsed += new ElapsedEventHandler({ Console.WriteLine("Tick"); });
您可以在PowerShell中执行此操作,因此我认为在C#中可能还有某种方法可以执行此操作。
答案 0 :(得分:10)
您可以使用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);
};
答案 1 :(得分:2)
t.Elapsed += delegate(object sender, ElapsedEventArgs args)
{
Console.WriteLine["Tick"];
});
或者,您也可以使用lambda语法:
t.Elapsed += (sender, args) => { Console.WriteLine["Tick"]; };