0
我有一个ServiceField
类,其中包含FieldId
和Value
作为两个属性。设置属性值违反开关原则验证
public class ServiceField
{
public int FieldId { get; set; }
public string Value { get; set; }
}
/// <summary>
/// This method is used to assign value to HajjPackageFields class
/// </summary>
/// <param name="hajPackageObj">HajjPackageFields whose value needs to be updated</param>
private void UpdateDetailFieldsValue(HajjPackageFields hajPackageObj)
{
foreach (ServiceField field in GetPackageDetails(hajPackageObj.PackageId))
{
if (field.FieldId == (int)HajjServiceFieldsEnum.AccomodationView)
{
hajPackageObj.AccomodationView = field.Value == "1";
}
else if (field.FieldId == (int)HajjServiceFieldsEnum.AirTicket)
{
hajPackageObj.AirTicket = field.Value == "1";
}
}
}
问题是,如果任何新的财产HajjPackageField
类中添加比我修改我的UpdateDetailFieldsValue
方法,它是针对开闭原则。有没有其他适当的方法来完成这项任务?
包含在上什么课这种方法吗? – Claies