Избавиться от повторения вызова одного и того же метода с одним меняющимся параметром - C#
Формулировка задачи:
struct Marker
{
public static string chipValue= '\"' + "Value" + '\"';
public static string chipElementInfo = '\"' + "ElementInfo" + '\"';
public static string chipDescription = '\"' + "Description" + '\"';
}
private void ParseCadStarNetList(List<string> netList)
{
foreach (string line in netList)
{
if (line.Contains(Marker.chipValue))
UpdateChipNameAndValue(ChipValues, line, Marker.chipValue);
if (line.Contains(Marker.chipElementInfo))
UpdateChipNameAndValue(ChipValues, line, Marker.chipElementInfo);
if (line.Contains(Marker.chipDescription))
UpdateChipNameAndValue(ChipValues, line, Marker.chipDescription);
}
...........................................Решение задачи: «Избавиться от повторения вызова одного и того же метода с одним меняющимся параметром»
textual
Листинг программы
struct Marker
{
public static string chipValue = '\"' + "Value" + '\"';
public static string chipElementInfo = '\"' + "ElementInfo" + '\"';
public static string chipDescription = '\"' + "Description" + '\"';
public static List<string> ChipList()
{
List<string> list = new List<string>();
foreach (var field in typeof(Marker).GetFields())
list .Add((String)field.GetValue(null));
return list;
}
}
private void ParseCadStarNetList(List<string> netList)
{
foreach (string line in netList)
foreach (string marker in Marker.ChipList())
if (line.Contains(marker))
UpdateChipNameAndValue(marker);
}