そのため、データベースからいくつかの情報を引き出しており、それをモデルのプロパティにマップする必要があります。これに対する私の最初の試みでは、明らかなパターンに従っている大きな switch ステートメントが生成されました。この脆弱なコードをより動的な方法で表現できないかと考えています。
foreach (AttributeValue attributeValue in attributeValues)
{
string label = attributes.First(a => a.ID == attributeValue.AttributeID).Name;
switch (attributeValue.AttributeName)
{
case "TaskSequence":
TaskSequenceLabel = label;
break;
case "TaskStatus":
TaskStatusLabel = label;
break;
case "InstallChangeNumber":
InstallChangeNumberLabel = label;
break;
case "InstallChangeStart":
InstallChangeStartLabel = label;
break;
case "InstallChangeEnd":
InstallChangeEndLabel = label;
break;
case "SubmittedDateTime":
SubmittedDateTimeLabel = label;
break;
case "InstalledDateTime":
InstalledDateTimeLabel = label;
break;
}
}
基本的に私が考えているのは、「ラベルの値+「ラベル」を持つプロパティにラベルをマップする」ことです