我有几种方法,确切地说是 10 种。它们都具有相同的返回类型并接受相同的参数,就像这样
public string GenerateDataForABC(List modelList, Student student)
除了一些自定义之外,它们几乎都做同样的事情,即返回一个字符串。
例如,GenerateDataForDEF 方法将有一个唯一的代码,如下所示:
StringBuilder sb = new StringBuilder();
sb.Append("STUDENT_NUMBER");
sb.Append("\tCALLBACK_NUMBER");
sb.Append("\tSPECIALINSTRUCTIONS");
...
这样就可以为制表符分隔的文件创建一个标题。然后会有一个 for 循环,其代码如下:
foreach (Model model in modelList)
{
string sstudentNumber = "789";
sb.Append("\t");
sb.Append("\t");//SPECIALINSTRUCTIONS
sb.Append("\t" + model.ExamNumber);
...
}
foreach 在所有方法中都是通用的,唯一的区别是从 Model 对象中使用的属性。所以一种方法可能使用所有属性,另一种可能只使用 5 个。
目前,如开头所述,有单独的方法,并根据这些方法的要求使用属性。
正如我所看到的,这里有两个问题需要解决:
- 每种方法中的自定义部分。如何处理?
- 前锋。有替代品吗?
我尝试将模型的所需属性放在 xml 中,然后为仅分配所需属性的每个方法构建模型。这似乎有效,但只解决了一部分难题。
任何线索或方向表示赞赏。
问候。