Exemple #1
0
        public override Object ConvertTo(ITypeDescriptorContext context,
                                         CultureInfo culture,
                                         Object value,
                                         Type destinationType)
        {
            if (destinationType.Equals(Type.GetType("System.String")) &&
                value.GetType().Equals(Type.GetType("DMS.DMS_Graphics.CFillOptions")))
            {
                CFillOptions FillOptions = (CFillOptions)(value);
                String       Desstr      = "填充类型:";
                switch (FillOptions.BrushType)
                {
                case LCBrushType.Blank: Desstr += "空心"; break;

                case LCBrushType.Solid: Desstr += "实填充"; break;

                case LCBrushType.Hatch: Desstr += "网格填充"; break;

                case LCBrushType.LinearGradient: Desstr += "渐变填充"; break;

                case LCBrushType.Texture: Desstr += "图案填充"; break;

                default: Desstr += "未知"; break;
                }
                //Desstr += ";填充色:" + FillOptions.BackColor.ToString();
                return(Desstr);
            }
            ExpandableObjectConverter sEx = new ExpandableObjectConverter();

            return(sEx.ConvertTo(context, culture, value, destinationType));
        }
Exemple #2
0
        /// <summary>
        /// Extends ConvertTo so that methods that return a specific type object given a Type parameter can be
        /// used as generic method and casting is not required.
        /// <example>
        /// typeconverter.ConvertTo&lt;int&gt;(context, culture, value);
        /// </example>
        /// </summary>
        public static T ConvertTo <T>(this ExpandableObjectConverter typeconverter, ITypeDescriptorContext context, System.Globalization.CultureInfo culture, Object value)
        {
            if (typeconverter == null)
            {
                throw new ArgumentNullException("typeconverter");
            }

            return((T)typeconverter.ConvertTo(context, culture, value, typeof(T)));
        }
Exemple #3
0
        /// <summary>
        /// Extends ConvertTo so that methods that return a specific type object given a Type parameter can be
        /// used as generic method and casting is not required.
        /// <example>
        /// typeconverter.ConvertTo&lt;int&gt;(value);
        /// </example>
        /// </summary>
        public static T ConvertTo <T>(this ExpandableObjectConverter typeconverter, Object value)
        {
            if (typeconverter == null)
            {
                throw new ArgumentNullException("typeconverter");
            }

            return((T)typeconverter.ConvertTo(value, typeof(T)));
        }
Exemple #4
0
        //public:
        public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
        {
            ExpandableObjectConverter sEx = new ExpandableObjectConverter();

            if (destinationType.Equals(Type.GetType("DMS.DMS_Graphics.CFillOptions")))
            {
                return(true);
            }
            return(sEx.CanConvertTo(context, destinationType));
        }
        private JsonFxAOT()
        {
            TypeConverter c;

            c          = new ArrayConverter();
            m_fakeFlag = c.Equals(c);
            //c = new BaseNumberConverter();
            //m_fakeFlag = c.Equals(c);
            c          = new BooleanConverter();
            m_fakeFlag = c.Equals(c);
            c          = new ByteConverter();
            m_fakeFlag = c.Equals(c);
            c          = new CollectionConverter();
            m_fakeFlag = c.Equals(c);
            c          = new ComponentConverter(typeof(int));
            m_fakeFlag = c.Equals(c);
            c          = new CultureInfoConverter();
            m_fakeFlag = c.Equals(c);
            c          = new DateTimeConverter();
            m_fakeFlag = c.Equals(c);
            c          = new DecimalConverter();
            m_fakeFlag = c.Equals(c);
            c          = new DoubleConverter();
            m_fakeFlag = c.Equals(c);
            c          = new EnumConverter(typeof(int));
            m_fakeFlag = c.Equals(c);
            c          = new ExpandableObjectConverter();
            m_fakeFlag = c.Equals(c);
            c          = new Int16Converter();
            m_fakeFlag = c.Equals(c);
            c          = new Int32Converter();
            m_fakeFlag = c.Equals(c);
            c          = new Int64Converter();
            m_fakeFlag = c.Equals(c);
            c          = new NullableConverter(typeof(object));
            m_fakeFlag = c.Equals(c);
            c          = new SByteConverter();
            m_fakeFlag = c.Equals(c);
            c          = new SingleConverter();
            m_fakeFlag = c.Equals(c);
            c          = new StringConverter();
            m_fakeFlag = c.Equals(c);
            c          = new TimeSpanConverter();
            m_fakeFlag = c.Equals(c);
            c          = new UInt16Converter();
            m_fakeFlag = c.Equals(c);
            c          = new UInt32Converter();
            m_fakeFlag = c.Equals(c);
            c          = new UInt64Converter();
            m_fakeFlag = c.Equals(c);
        }
            public static ExpandableExtensionPropertyDescriptor CreateExtensionDescriptor(IORMPropertyExtension extensionElement)
            {
                ModelElement       element = extensionElement as ModelElement;
                DomainPropertyInfo extensionExpandableTopLevelPropertyInfo = element.Store.DomainDataDirectory.FindDomainProperty(extensionElement.ExtensionExpandableTopLevelPropertyId);

                // If ExtensionExpandableTopLevelPropertyGuid is invalid or Guid.Empty, FindDomainProperty returns null.
                bool readOnly = (extensionExpandableTopLevelPropertyInfo == null);

                PropertyDescriptor        descriptor;
                ExpandableObjectConverter expandableConverter;

                if (!readOnly)
                {
                    descriptor          = DomainTypeDescriptor.CreatePropertyDescriptor(element, extensionExpandableTopLevelPropertyInfo);
                    expandableConverter = new ExpandableExtensionConverter(extensionElement, descriptor);
                }
                else
                {
                    descriptor          = null;
                    expandableConverter = new ExpandableObjectConverter();
                }

                return(new ExpandableExtensionPropertyDescriptor(extensionElement, expandableConverter, readOnly, descriptor));
            }
 public ReadOnlyExpandableObjectConverter(ExpandableObjectConverter parent)
 {
     this.parent = parent;
 }