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