如果我有类似于
的C#方法public void MyMethod(object myObject, string s1, string s2, string s3, ...)
{ ... }
我需要对字符串进行值检查(如果是!string.IsNullOrEmpty( var )),而不是遍历每个变量,因为有很多if检查,是有一种更通用的方法可以实现这个目标吗?
我希望使用ParameterInfo,直到我发现你无法检索参数的值。我的参数将是""或者具有数字(作为字符串)或true / false(作为字符串)的值 - 这些是进入web.config,因此是字符串。方法变量的名称是进入web.config的参数名称。我阻止将具有null / empty值的参数写入web.config,因此检查IsNullOrEmpty。
现在我对每个方法参数的内容如下所示,只是为了让您了解格式。
string name, value;
if (!string.IsNullOrEmpty(s1))
{
name = "s1";
value = s1;
/* do stuff */
}
if (!string.IsNullOrEmpty(s2))
{
name = "s2";
value = s2;
/* do stuff */
}
/* too many of these */
答案 0 :(得分:1)
我认为传递而不是string1,string2等会更好..类似于字符串数组(string[]
)。
通过这种方式,您将能够传递2个参数或10000,并且您不需要检查,因为在您的数组中,如果需要,您将不会包含空值;)
编辑:字典获胜
public void MyMethod(object myObject, Dictionary<int, string> yourParams)
{ ... }