gpt4 book ai didi

c# - 如何处理重复的参数声明?

转载 作者:太空宇宙 更新时间:2023-11-03 15:52:14 25 4
gpt4 key购买 nike

所以是的,正如标题所说,有没有一种方法可以轻松处理重复的参数?

例如,假设我正在创建一个包含许多方法的类。假设大多数方法都采用相同的方法签名并且它相当长。编造的例子:

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 */)

我确信与大多数其他情况一样,它要么不值得实现,要么有不应该实现的正当理由。 (或者也许我只是疯了,总的来说这是一个糟糕的主意。)但是复制/粘贴已经过时了。

谢谢。

编辑:关于“只是让它成为一个类”的论点,supercat 提出了一个有效的观点。在我的例子中,我正在制作一个将方法链接在一起的类,LINQ 样式并且每组参数可以不同。

最佳答案

您要求的是元编程功能,而 C# 几乎没有这些功能。

Lisp、C++ 和许多函数式语言可以满足您的要求,但我认为它不会很快在 C# 中实现。

您可以使用 T4 文本模板生成代码,但之后就只能靠自己了。

关于c# - 如何处理重复的参数声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25335160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com