Я беру на себя чью-то работу, и там много дублированного кода.Сейчас я просто хочу изменить следующий код: (код, который я хотел изменить, находится после этого блока кода)
if (Session["opt3PSRAddHrs4"] != null)
{
lblDay4AddHrs.Text = "Additional Hours: " + (String)Session["opt3PSRAddHrs4"];
}
else
{
lblDay4AddHrs.Visible = false;
}
if (Session["opt3PSRAddHrs5"] != null)
{
lblDay5AddHrs.Text = "Additional Hours: " + (String)Session["opt3PSRAddHrs5"];
}
else
{
lblDay5AddHrs.Visible = false;
}
if (Session["opt3PSRAddHrs6"] != null)
{
lblDay6AddHrs.Text = "Additional Hours: " + (String)Session["opt3PSRAddHrs6"];
}
else
{
lblDay6AddHrs.Visible = false;
}
if (Session["opt3PSRAddHrs7"] != null)
{
lblDay7AddHrs.Text = "Additional Hours: " + (String)Session["opt3PSRAddHrs7"];
}
else
{
lblDay7AddHrs.Visible = false;
}
на
for (int i = 0; i < 7; i++) {
Label label = Reflection.getVariable(type = "Label", name = "lblDay" + i + "AddHrs");
string sessionData = (string) Session["opt3PSRAddHrs" + i];
if ( sessionData != null) {
label.Text = "Additional Hours: " + sessionData;
}
else {
label.Visible = false;
}
}
с использованием отражения.Поскольку названия этих меток следуют за шаблоном, может ли отражение помочь?
(Кстати, возможно, размещение всех элементов opt3PSRAddHrs в массиве - хорошая идея, но вы знаете, сейчас я не хочу это менятьчасть кода ... Каждое изменение, вероятно, оставит несоответствие ...)