Want to know if there is a better approach to handle multiple, similar conditional statements and actions such as in the example snippet below.
private void AddCommonDictionaryItemsForAllAttributes(MyCustomType dc, string statusFlag)
{
if (dc.xmlAttributes == null) {
dc.xmlAttributes = new Dictionary<string, string>();
}
dc.xmlAttributes.Add(Constant.CD_1, statusFlag);
dc.xmlAttributes.Add(Constant.CD_2, statusFlag);
dc.xmlAttributes.Add(Constant.CD_3, statusFlag);
if (dc.primaryZone != null) {
dc.xmlAttributes.Add(Constant.CD_4, statusFlag);
}
if (dc.Mgr1 != null) {
dc.xmlAttributes.Add(Constant.CD_10, statusFlag);
}
if (dc.Mgr2 != null) {
dc.xmlAttributes.Add(Constant.CD_11, statusFlag);
}
if (dc.Mgr3 != null) {
dc.xmlAttributes.Add(Constant.CD_5, statusFlag);
}
if (dc.Producer != null) {
dc.xmlAttributes.Add(Constant.CD_6, statusFlag);
}
if (dc.CountTest > 0) {
dc.xmlAttributes.Add(Constant.CD_7, statusFlag);
}
if (dc.List1 != null && dc.List1.Count > 0) {
dc.xmlAttributes.Add(Constant.CD_8, statusFlag);
}
if (dc.List2 != null && dc.List2.Count > 0) {
dc.xmlAttributes.Add(Constant.CD_9, statusFlag);
}
}
The if conditions and the addition to the dictionary operation seems to me as redundant so looking out for more efficient and elegant ways to code this.
Thanks!
Update: I am using .NET 3.5