所以我从数据库中提取了一些信息,我需要将它映射到我的模型的属性。我的第一次尝试产生了一个大的 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;
}
}
基本上我在想的是“将标签映射到具有标签值+“标签”的属性”