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)); }
/// <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<int>(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))); }
/// <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<int>(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))); }
//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; }