public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
        {
            if (value == null)
            {
                return(null);
            }

            StringBuilder msg = new StringBuilder();

            if (value.GetType().IsArray)
            {
                foreach (object item in (Array)value)
                {
                    if (msg.Length == 0)
                    {
                        msg.Append(ChoString.ToString(item, String.Empty, String.Empty));
                    }
                    else
                    {
                        msg.AppendFormat(", {0}", ChoString.ToString(item, String.Empty, String.Empty));
                    }
                }
                return(msg.ToString());
            }
            return(base.ConvertFrom(context, culture, value));
        }
Exemple #2
0
        public override string ToString()
        {
            StringBuilder msg = new StringBuilder();

            msg.Append(base.ToString());
            msg.AppendFormat("Callback: {0}{1}", ChoString.ToString(_asyncCallback), Environment.NewLine);
            return(msg.ToString());
        }
Exemple #3
0
        internal static NameValueCollection ToPersistableNameValueCollection(object target)
        {
            ChoGuard.ArgumentNotNull(target, "Target");

            NameValueCollection nameValues = new NameValueCollection();

            //Dictionary<string, MemberInfo> configMemberInfos = ChoType.GetMembersDictionary(target.GetType(), typeof(ChoConfigurationPropertyAttribute));
            //MemberInfo[] memberInfos = ChoType.GetMembers(target.GetType(), typeof(ChoConfigurationPropertyAttribute));
            MemberInfo[] memberInfos = ChoTypeMembersCache.GetAllMemberInfos(target.GetType());
            if (memberInfos == null || memberInfos.Length == 0)
            {
                return(nameValues);
            }

            ChoPropertyInfoAttribute memberInfoAttribute = null;
            string name = null;

            foreach (MemberInfo memberInfo in memberInfos)
            {
                if (memberInfo.GetCustomAttribute <ChoIgnorePropertyAttribute>() != null)
                {
                    continue;
                }

                object memberValue = ChoType.GetMemberValue(target, memberInfo.Name);
                memberInfoAttribute = (ChoPropertyInfoAttribute)ChoType.GetMemberAttribute(memberInfo, typeof(ChoPropertyInfoAttribute));
                //if (memberInfoAttribute == null) continue;

                name = ChoType.GetMemberName(memberInfo, memberInfoAttribute);

                if (target is ChoConfigurableObject && ((ChoConfigurableObject)target).RaiseBeforeConfigurationObjectMemberPersist(memberInfo.Name, name, ref memberValue))
                {
                    nameValues.Add(name, memberValue == null ? null : memberValue.ToString());
                }
                else
                {
                    if (memberInfoAttribute != null && !memberInfoAttribute.Persistable)
                    {
                        continue;
                    }

                    memberValue = ChoType.GetMemberValue(target, memberInfo.Name);

                    nameValues.Add(name, ChoString.ToString(ChoConvert.ConvertTo(target, memberValue, typeof(string),
                                                                                 ChoTypeDescriptor.GetTypeConverters(memberInfo), ChoTypeDescriptor.GetTypeConverterParams(memberInfo), null),
                                                            String.Empty, String.Empty));
                }
            }
            return(nameValues);
        }
Exemple #4
0
        internal string PostFormat(string name, string value)
        {
            if (Name != null && Name.Length > 0)
            {
                name = Name;
            }
            else if (name != null && name.Length > 0)
            {
            }
            else
            {
                name = "key";
            }

            StringBuilder msg = new StringBuilder();

            for (int index = 0; index < NoOfNewLinesBefore; index++)
            {
                msg.AppendLine();
            }

            if (name == ChoNull.NullString)
            {
                msg.AppendFormat("{0}{1}", ChoString.ToString(value), Environment.NewLine);
            }
            else
            {
                string valueText = ChoString.ToString(value);

                if (!valueText.ContainsHeader())
                {
                    msg.AppendFormat("{0}: {1}{2}", name, valueText, Environment.NewLine);
                }
                else
                {
                    msg.AppendFormat("{0}{1}", valueText, Environment.NewLine);
                }
            }

            for (int index = 0; index < NoOfNewLinesAfter; index++)
            {
                msg.AppendLine();
            }

            return(msg.ToString().Indent(NoOfTabs));
        }
Exemple #5
0
        public override string ToString()
        {
            StringBuilder msg = new StringBuilder();

            msg.AppendFormat("Status: {0}{1}", _exception != null ? "SUCCESS" : "FAILED", Environment.NewLine);
            msg.AppendFormat("Aborted: {0}{1}", _isAborted, Environment.NewLine);
            msg.AppendFormat("Timedout: {0}{1}", _isTimedOut, Environment.NewLine);
            msg.AppendFormat("State: {0}{1}", _completedState, Environment.NewLine);
            if (_exception == null)
            {
                msg.AppendFormat("Result: {0}{1}", ChoString.ToString(_result), Environment.NewLine);
            }
            else
            {
                msg.AppendFormat("Exception: {0}{1}", ChoString.ToString(_exception), Environment.NewLine);
            }
            msg.AppendFormat("AsyncState: {0}{1}", ChoString.ToString(_asyncState), Environment.NewLine);

            return(msg.ToString());
        }