StringX
来源:互联网 发布:mac air能玩什么游戏 编辑:程序博客网 时间:2024/06/08 16:08
namespace wsControls{ public class StringX { public static char mylar = (char)220; #region [ Property ] String public string String { get; set; } #endregion #region [ Constructor ] With Display Name string name = string.Empty; public StringX(string disp_name) { String = string.Empty; } public StringX() : this("StringX") { } #endregion #region [ Function ] ToString -> Return Name; Use for PropertyGrid public override string ToString() { return name; } #endregion public string[] ToArray() { return String.Split(mylar); } } #region [ Class ] wsPropertyClass with TypeConverter [TypeConverter(typeof(wsPropertyClassTypeConverter))] public class wsPropertyClass { #region From/To StringX public virtual StringX ToStringX() { StringX sx = new StringX(); return sx; } public virtual void FromStringX(StringX sx) { } #endregion public override string ToString() { return string.Empty; } } public class wsPropertyClassTypeConverter : ExpandableObjectConverter { #region Can Convert public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { if (destinationType == typeof(wsPropertyClass)) return true; return base.CanConvertTo(context, destinationType); } public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { if (sourceType == typeof(StringX)) return true; return base.CanConvertFrom(context, sourceType); } #endregion #region Convert To/From public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { if (destinationType == typeof(StringX) && value is wsPropertyClass) return ((wsPropertyClass)value).ToStringX(); return base.ConvertTo(context, culture, value, destinationType); } public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { if (value is StringX) { try { wsPropertyClass p = new wsPropertyClass(); p.FromStringX((StringX)value); return p; } catch (Exception ex) { throw new ArgumentException(ex.ToString()); } } return base.ConvertFrom(context, culture, value); } #endregion } #endregion}
0 0