gpt4 book ai didi

c# - 将许多相似的参数封装到结构中是一种好习惯吗

转载 作者:太空狗 更新时间:2023-10-30 00:22:29 25 4
gpt4 key购买 nike

基本上,我有如下内容:

public string SomeDBMethod(string server, string dbName, string userName, string password,...)

将其重构为以下内容是否是一种好的做法:

public string SomeDbMethod(DBParams parameters, ...)

其中DBParams定义如下:

public struct DBParams
{
string Server {get;set;}
string DbName {get;set;}
string UserName {get;set;}
string Password {get;set;}
}

我的观点实际上是能够传递更少的参数,因为我发现具有长参数列表的函数真的很丑陋。

我还发现这种方法有一些局限性:如果要将 SomeDbMethod 作为 Web 服务方法公开,我不能将 DBParams 结构用作参数(就我对 Web 服务主题的理解而言) ...不是很远)。

那么,这是否带来了太多麻烦却没有什么好处,还是我在这里有所作为?

最佳答案

除非您实际上需要非常频繁地传递这组参数(使用相同的数据),否则我认为没有任何必要。长参数列表有时表明需要重构代码,但有时又是不可避免的。 (在你的情况下似乎更像是后者。)所以,除非你发现自己需要存储参数集(至少暂时),否则只需使用直接传递参数的直接方法 - 你真的不会保存任何代码否则,肯定不会增加可读性。

使用结构的方法不强加任何与网络服务相关的限制。您只需将该类型设为可序列化(我相信 WPF 中的 DataContract),应该不会有任何问题。

关于c# - 将许多相似的参数封装到结构中是一种好习惯吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/949607/

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