Jak*_*son 9 .net c# coding-style
什么被认为是更好的事件定义样式:
public event Action<object, double> OnNumberChanged;
Run Code Online (Sandbox Code Playgroud)
要么
public delegate void DNumberChanged(object sender, double number);
public event DNumberChanged OnNumberChanged;
Run Code Online (Sandbox Code Playgroud)
第一个需要较少的输入,但是委托者给出了参数的名称.当我打字时,我认为2号是赢家,但我可能错了.
编辑:一个不同的(第三)方法是胜利者.参见下文.
小智 16
无论是1还是2.第三种选择是获胜者
public event EventHandler<NumberChangedEventArgs> NumberChanged;
Run Code Online (Sandbox Code Playgroud)
您打破了许多用于在C#中进行开发的样式指南,例如使用不扩展EventArgs的事件args的类型.
是的,您可以这样做,因为编译器不关心.但是,阅读代码的人会做WTF.
And*_*are 11
如果您不需要,请不要创建新类型.我认为这更好:
public event Action<object, double> OnNumberChanged;
Run Code Online (Sandbox Code Playgroud)
Action和Func委托系列存在的原因是为了达到这个目的,并减少开发人员创建新委托类型的需要.
| 归档时间: |
|
| 查看次数: |
4736 次 |
| 最近记录: |