C#添加事件处理程序文字代码块 [英] C# add event handler literal code block
本文介绍了C#添加事件处理程序文字代码块的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
可以在C#中添加一个文字代码块作为事件处理程序吗?如下所示:
定时器t =新的定时器(1000);
t.Elapsed + = new ElapsedEventHandler({Console.WriteLine(Tick);});您可以在PowerShell中执行此操作,所以我认为可能有一些方法可以在C#中执行此操作解决方案您可以使用lambda表达式(C#3.0及更高版本):
t.Elapsed + =(sender,args)=> Console.WriteLine( 嘀);
或匿名方法(C#2.0及更高版本):
//如果不需要参数值
t.Elapsed + = delegate {Console.WriteLine(Tick); };
//如果你需要参数值
t.Elapsed + = delegate(Object sender,ElapsedEventArgs args){
Console.WriteLine(从{0} ,发件人);
};
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.
解决方案 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);
};
这篇关于C#添加事件处理程序文字代码块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文