public void SaveDicomFields(object obj)
{
FieldInfo[] fields = obj.GetType().GetFields();
foreach (FieldInfo field in fields) {
if (field.IsDefined(typeof(DicomFieldAttribute), true)) {
DicomFieldAttribute dfa = (DicomFieldAttribute)field.GetCustomAttributes(typeof(DicomFieldAttribute), true)[0];
object value = field.GetValue(obj);
SaveDicomFieldValue(dfa.Tag, value, dfa.CreateEmptyElement);
}
}
PropertyInfo[] properties = obj.GetType().GetProperties();
foreach (PropertyInfo property in properties) {
if (property.IsDefined(typeof(DicomFieldAttribute), true)) {
DicomFieldAttribute dfa = (DicomFieldAttribute)property.GetCustomAttributes(typeof(DicomFieldAttribute), true)[0];
object value = property.GetValue(obj, null);
SaveDicomFieldValue(dfa.Tag, value, dfa.CreateEmptyElement);
}
}
}