为什么一定要指定参数名x
如下
public delegate void XXX(int x);
在声明委托(delegate)类型时?
对我来说,参数名x
未使用,所以如果我们可以重写如下会更简单:
public delegate void XXX(int);
请告诉我为什么 C# 设计者“强制”我们指定参数名称。
编辑1:
是public delegate TResult Func<T1,TResult>(T1 arg1)
比 public delegate TResult Func<T1,TResult>(T1)
更具可读性?
最佳答案
它被使用:
- 编写调用代码时,提供明智的智能感知并帮助开发人员了解将 4 个字符串中的哪一个在哪个位置传递给方法(字符串、字符串、字符串、字符串)(例如)
- 在其他工具中 - 例如实现事件(或其他委托(delegate))并按 tab 让工具生成方法 stub (来自委托(delegate)的参数名称成为方法的参数名称- stub )
在这两种情况下,这个名称都增加了有助于开发人员的含义。例如,我不知道你的 x
是什么代表 - 但给它起一个更好的名字,我会有一个线索。
作为替代方案,使用 Action<int>
忘掉它吧。
关于c# - 按照设计,为什么在声明委托(delegate)类型时必须指定参数名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4918633/