C#添加事件处理程序文字代码块 [英] C# add event handler literal code block

查看:135
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆