c# - 优化多个参数传递给类构造函数的过程

标签 c# .net algorithm

我正在使用 C#.Net 和 SQL Server 编写桌面应用程序。我有几个带有几个参数的 calss 构造函数,每次我都应该将它们传递给它们。下面是一个例子:

 Classes.Prices prices = new Classes.Prices  
 (comboBox1.SelectedValue.ToString(),
  Convert.ToInt32(txtPrice.Text), 
  Convert.ToInt32(txtCarbohydrate.Text),   
  Convert.ToInt32(txtProtein.Text),   
  Convert.ToInt32(txtFat.Text), 
  Convert.ToInt32(txtHumidity.Text), 
  Convert.ToInt32(txtminerals.Text));

有什么方法可以克服这个问题并防止为转换和传递多个参数编写太多代码 到构造函数?

最佳答案

您不应在一个方法中使用超过 2 到 3 个参数。

定义一个名为PriceHolder的类

public class PriceHolder
{
    public string FirstValue { get; set; }
    public string Price { get; set; }
    public string Carbohydrate { get; set; }
    public string Protein { get; set; }
    public string Fat { get; set; }
    public string Humidity { get; set; }
    public string Minerals { get; set; }
}

然后,您的构造函数必须接受 PriceHolder

的对象

像这样:

public Prices(PriceHolder hold)
{
 // access the values by hold.Fat, hold.Minerals etc
}

此方法使重构代码更容易,或者如果您打算添加更多属性。

此外,您的程序员同事将能够轻松理解它。可读性很重要!

关于c# - 优化多个参数传递给类构造函数的过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22593329/

相关文章:

c# - 通知 ViewModel ValidatesOnExceptions 输入错误

c# - Active TabPage 与我的控件颜色相同

c# - 将属性设置为另一个属性的值

c# - 从 Nunit3-console.exe 运行单独测试

.net - 通过 .NET Framework 类以编程方式使用 XSD.exe 工具功能(从 XSD 架构生成类)?

c# - 使用 C# 将证书从 LocalComputer 复制到 CurrentUser

java - Bresenham画圆算法Java实现

python - python中单链表类的递归实现

algorithm - 修改后的加威克算法到底是什么?

c# - 静态类中静态字段的初始化顺序