/// <summary> /// 尝试根据组标识和值获取值描述(获取成功返回true;失败返回false) /// </summary> /// <param name="groupId">组标识</param> /// <param name="value">值</param> /// <param name="des">值描述</param> /// <returns>获取成功返回true;失败返回false</returns> public static bool TryGetDescriptionByValue(object groupId, object value, out string des) { des = null; ValueDescriptionGroup group = GetValueDescriptionGroupById(groupId); if (group == null) { return(false); } DisplayNameExAttribute desAtt; if (group.TryGetValue(value, out desAtt)) { des = desAtt.Description; return(true); } var groupDescriptionAtt = group.GroupDescriptionAttribute; if (groupDescriptionAtt != null && groupDescriptionAtt.Extend != null) { des = groupDescriptionAtt.Extend.GetDescription(value, group); return(true); } return(false); }
/// <summary> /// 根据组标识和值获取值描述(获取成功返回值描述;失败抛出ArgumentException异常) /// </summary> /// <param name="groupId">组标识</param> /// <param name="value">值</param> /// <returns>值描述</returns> public static string GetDescriptionByValue(object groupId, object value) { ValueDescriptionGroup group = GetValueDescriptionGroupById(groupId); if (group == null) { throw new ArgumentException($"组标识\"{groupId}\"未注册"); } DisplayNameExAttribute desAtt; if (group.TryGetValue(value, out desAtt)) { return(desAtt.Description); } var groupDescriptionAtt = group.GroupDescriptionAttribute; if (groupDescriptionAtt != null && groupDescriptionAtt.Extend != null) { return(groupDescriptionAtt.Extend.GetDescription(value, group)); } else { throw new ArgumentException($"组标识\"{groupId}\"值\"{value}\"对应的描述不存在"); } }