我有一个表格,可以从用户那里收集数据。当收集到这些数据时,我将它传递给各个合作伙伴,但是每个合作伙伴对每条数据都有自己的规则,因此必须进行转换。我可以做到这一点,但我担心的是稳健性。这是一些代码:
首先,我有一个枚举。这被映射到下拉列表 - 描述是文本值,而 int 映射到值。
public enum EmploymentStatusType
{
[Description("INVALID!")]
None = 0,
[Description("Permanent full-time")]
FullTime = 1,
[Description("Permanent part-time")]
PartTime = 2,
[Description("Self employed")]
SelfEmployed = 3
}
提交表单时,选定的值将转换为正确的类型并存储在另一个类中 - 属性如下所示:
protected virtual EmploymentStatusType EmploymentStatus
{
get { return _application.EmploymentStatus; }
}
对于拼图的最后一点,我将值转换为合作伙伴所需的字符串值:
Dictionary<EmploymentStatusType, string> _employmentStatusTypes;
Dictionary<EmploymentStatusType, string> EmploymentStatusTypes
{
get
{
if (_employmentStatusTypes.IsNull())
{
_employmentStatusTypes = new Dictionary<EmploymentStatusType, string>()
{
{ EmploymentStatusType.FullTime, "Full Time" },
{ EmploymentStatusType.PartTime, "Part Time" },
{ EmploymentStatusType.SelfEmployed, "Self Employed" }
};
}
return _employmentStatusTypes;
}
}
string PartnerEmploymentStatus
{
get { return _employmentStatusTypes.GetValue(EmploymentStatus); }
}
我调用 PartnerEmploymentStatus,然后返回最终的输出字符串。
有什么想法可以使它变得更健壮吗?