/// <summary>Gets the units from a declaraion.</summary> /// <param name="model">The model containing the declaration field.</param> /// <param name="fieldName">The declaration field name.</param> /// <returns>The units (no brackets) or any empty string.</returns> public static string GetUnits(IModel model, string fieldName) { FieldInfo field = model.GetType().GetField(fieldName, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); if (field != null) { UnitsAttribute unitsAttribute = ReflectionUtilities.GetAttribute(field, typeof(UnitsAttribute), false) as UnitsAttribute; if (unitsAttribute != null) { return(unitsAttribute.ToString()); } } return(string.Empty); }
/// <summary>Gets the units from a declaraion.</summary> /// <param name="model">The model containing the declaration field.</param> /// <param name="fieldName">The declaration field name.</param> /// <returns>The units (no brackets) or any empty string.</returns> public static string GetUnits(IModel model, string fieldName) { if (model == null || string.IsNullOrEmpty(fieldName)) { return(string.Empty); } FieldInfo field = model.GetType().GetField(fieldName, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.IgnoreCase); if (field != null) { UnitsAttribute unitsAttribute = ReflectionUtilities.GetAttribute(field, typeof(UnitsAttribute), false) as UnitsAttribute; if (unitsAttribute != null) { return(unitsAttribute.ToString()); } } PropertyInfo property = model.GetType().GetProperty(fieldName, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.IgnoreCase); if (property != null) { UnitsAttribute unitsAttribute = ReflectionUtilities.GetAttribute(property, typeof(UnitsAttribute), false) as UnitsAttribute; if (unitsAttribute != null) { return(unitsAttribute.ToString()); } } // Didn't find untis - try parent. if (model.Parent != null) { return(GetUnits(model.Parent, model.Name)); } else { return(string.Empty); } }