为什么我们必须指定参数名x
如下
public delegate void XXX(int x);
在声明委托类型时?
对我来说,参数名
x
是未使用的,因此如果我们可以重写如下,它会更简单:public delegate void XXX(int);
请告诉我为什么c设计器“强迫”我们指定参数名。
编辑1:
public delegate TResult Func<T1,TResult>(T1 arg1)
比public delegate TResult Func<T1,TResult>(T1)
可读吗? 最佳答案
它用于:
在编写调用时,提供合理的智能感知,并帮助开发人员知道要将4个字符串中的哪一个传递到方法的哪个位置(字符串、字符串、字符串、字符串)(例如)
在其他工具中-例如实现一个事件(或其他委托)并按Tab键让工具生成一个方法存根(来自委托的参数名成为方法存根的参数名)
在这两种情况下,该名称都添加了有助于开发人员的含义。例如,我不知道您的x
代表什么,但是请给它起个更好的名字,我会有一个线索。
作为替代方法,使用Action<int>
并忘掉它。