Lly*_*yle 14 .net c# delegates
我正在注册我班上的一个事件,并且按照惯例,我很懒,只使用Visual Studio 2008 Pro中内置的自动完成功能,它自动创建委托创建及其相关方法.
public abstract class FooBase
{
protected event EventHandler<MyValueChangedArgs> MyValueChanged;
protected FooBase()
{
MyValueChanged +=
new EventHandler<MyValueChangedArgs>(HandleMyValueChanged);
}
private void HandleMyValueChanged(object sender, MyValueChangedArgs e)
{
// Some handling logic
}
}
Run Code Online (Sandbox Code Playgroud)
通常我不会三思而后行Visual Studio为我生成事件处理程序,但后来我收到了Refactor的推荐!专业"删除冗余代表创建".建议结果如下:
public abstract class FooBase
{
protected event EventHandler<MyValueChangedArgs> MyValueChanged;
protected FooBase()
{
MyValueChanged += HandleMyValueChanged;
}
private void HandleMyValueChanged(object sender, MyValueChangedArgs e)
{
// Some handling logic
}
}
Run Code Online (Sandbox Code Playgroud)
在什么情况下委托创建是多余的,委托创建何时适当?
谢谢.
我认为那是重构!告诉你那条线
MyValueChanged += new EventHandler<MyValueChangedArgs>(HandleMyValueChanged);
Run Code Online (Sandbox Code Playgroud)
可以缩短,编译器将推断事件处理程序创建和TEventArgs类型参数...
在什么情况下委托创建是多余的,委托创建何时适当?
关于设计器生成的代码......
| 归档时间: |
|
| 查看次数: |
4612 次 |
| 最近记录: |