我有一个使用EPPlus从电子表格中读取文本的类。它能够运行并且完全满足我的需求,但我觉得我的方法不太好,但是我无法想到一个更少硬编码、使用更少if语句的替代方案。 这个类包含常量,比如:
private static string configUserName;
private static string configPassword;
private static string configUrl;
private static string configDatabase;
//etc
这里大约有40个。该类循环读取电子表格中的所有值,检查它所匹配的值:
int i = 1;
object isRow = currentWorksheet.Cells[i, 1].Value;
while (isRow != null)
{
if (isRow.ToString().Trim().Equals("change_bank_details_policy"))
{
if (currentWorksheet.Cells[i, 2].Value != null)
{
change_bank_details_policy =c currentWorksheet.Cells[i,2].Value.ToString().Trim();
}
}
else if //etc 40 more if statements
由于这些值是私有的,所以有40种方法,例如:
public static string GetConfigUserName()
{
return configUserName;
}
一定有更好的方法来做这件事吧?电子表格看起来像这样:
change_bank_details_policy,11459676
change_DD_date_policy,11441975
[40 more rows....]