是的,正如标题所说,是否有办法轻松处理重复参数?
例如,假设我正在制作一个有很多方法的课程。让我们说大多数方法采用相同的方法签名,而且它的长度相当长。举个例子:
void Method(int x, int y, int z = 0, string label = null, isNeverGonnaGiveYouUp = true)
我知道你可以为一个班级制作别名......
using Alias = System.Console;
我还没有找到类似方法参数的相似内容,也不知道我是否需要反复复制和粘贴所有内容(以及所有更改)。或许它可能与宏或其他东西?虽然我不是一个宏观的人。
作为一种语言功能,它很干净。有点像...
using ArgList = params (int x, int y, int z = 0, string label = null, isNeverGonnaGiveYouUp = true)
void Method(ArgList)
或者是那些有很长通用参数的时间......
using GenArgList = params (Action<int, int, int, string, bool>)
也许是通用方法......
using Gen = typeof (int, int, int string, bool)
void Method<Gen>(/* parameters here */)
我确信与大多数其他情况一样,它不值得实施,或者说它不应该被实施的正当理由。 (或许我只是疯了,一般来说这是一个可怕的想法。)但复制/粘贴已经过时了。
感谢。
编辑:关于&#34;只是让它成为一个班级&#34;参数,supercat提出了一个有效的观点。在我的情况下,我创建了一个将方法链接在一起的类LINQ样式和每组参数可以是不同的。
答案 0 :(得分:0)
您要求的是元编程功能,这些功能几乎不存在于C#中。
Lisp,C ++和许多函数式语言都能满足您的要求,但我不认为它会在C#中发生。
您可以使用T4文本模板生成代码,但之后您就可以自己动手了。