方法,它接受很多参数
本文关键字:参数 方法 | 更新日期: 2023-09-27 18:07:37
关于c#中的参数,我有一个相当普遍的问题。
我有时会使用需要很多参数的方法,特别是在使GridViews可搜索时。
举个例子:
searchSQL(
tbEID.Text,
tbSID.Text,
tbCID.Text,
tbSP.Text,
tbSA.Text,
tbSMF.Text,
tbSS.Text,
tbSSC.Text,
tbSST.Text,
tbSIPA.Text,
(string)ViewState["SortExpression"],
(string)ViewState["SortDirection"],
(tbFromDate.Text == "") ? (DateTime?)null : Convert.ToDateTime(tbFromDate.Text),
(tbToDate.Text == "") ? (DateTime?)null : Convert.ToDateTime(tbToDate.Text),
(tbSAC.Text == "") ? (int?)null : Convert.ToInt32(tbSAC.Text)
);
它可以工作和一切,但它看起来不是很好。
有什么可能的方法可以让这个看起来更好吗?我能想到的唯一方法就是通过使用列表来缩小它,就像:
searchSQL(List<string>, List<DateTime>, int)
还有其他更好的选择吗?
使用一个类来表示正在建模的真实世界数据。
class YourNameHere
{
public string EID { get; set; }
...
}
这样,如果你需要添加一个值,你可以只修改类——其他代码不必改变,你不必依赖于属性匹配的索引,等等。
您可能需要仔细阅读封装的概念
您可以创建一个只包含您想要传递的参数的类,而不是传递例如10个参数,您可以最终传递对该对象的引用。如果参数相互关联,这是有意义的。否则,您可以分两步完成。