private static string GetNFormatMemberValue(object target, MemberInfo memberInfo, bool collectErrMsgs, ChoMemberFormatterAttribute memberFormaterAttribute, ChoMemberItemFormatterAttribute memberItemFormaterAttribute, BindingFlags bindingFlags) { try { string memberText = null; object memberValue = ChoType.GetMemberValue(target, memberInfo); if (memberValue == target) { return(null); } //if (memberFormaterAttribute == null) //{ // object[] typeConverters = ChoTypeDescriptor.GetTypeConverters(memberInfo); // if (typeConverters != null && typeConverters.Length > 0) // { // if (typeConverters.Length == 1 && typeConverters[0].GetType() == typeof(System.ComponentModel.TypeConverter)) // { // } // else // { // object convertedValue = ChoConvert.ConvertTo(target, memberInfo, typeof(string)); //, typeConverters, ChoTypeDescriptor.GetTypeConverterParams(memberInfo), null); // return convertedValue == null ? String.Empty : convertedValue.ToString(); // //return memberText; // } // } //} memberText = ChoFormattableObject.ToString(memberValue, collectErrMsgs, memberFormaterAttribute, memberItemFormaterAttribute, bindingFlags); if (memberText.ContainsMultiLines()) { memberText = Environment.NewLine + memberText.Indent(); } return(memberText); } catch (ChoFatalApplicationException) { throw; } catch (Exception ex) { throw new ChoApplicationException(memberInfo.Name, ex); } }
private static string GetNFormatMemberValue(object target, MemberInfo memberInfo, bool collectErrMsgs, ChoMemberFormatterAttribute memberFormaterAttribute, ChoMemberItemFormatterAttribute memberItemFormaterAttribute, BindingFlags bindingFlags) { try { string memberText = null; object memberValue = ChoType.GetMemberValue(target, memberInfo); if (memberValue == target) { return(null); } if (memberFormaterAttribute == null) { object[] typeConverters = ChoTypeDescriptor.GetTypeConverters(memberInfo); if (typeConverters != null && typeConverters.Length > 0) { memberText = (string)ChoConvert.ConvertTo(target, memberValue, typeof(string), typeConverters, ChoTypeDescriptor.GetTypeConverterParams(memberInfo), null); return(memberText); } } memberText = ChoFormattableObject.ToString(memberValue, collectErrMsgs, memberFormaterAttribute, memberItemFormaterAttribute, bindingFlags); if (memberText.ContainsMultiLines()) { memberText = Environment.NewLine + memberText.Indent(); } return(memberText); } catch (ChoFatalApplicationException) { throw; } catch (Exception ex) { throw new ChoApplicationException(memberInfo.Name, ex); } }