public override object ConvertTo(Scm.ITypeDescriptorContext context, SG.CultureInfo culture, object value, Type destinationType) { if (destinationType == typeof(string) && value.GetType() == typeof(UInt16)) { return("0x" + ((UInt16)value).ToString("X4", culture)); } return(base.ConvertTo(context, culture, value, destinationType)); }
public override object ConvertFrom(Scm.ITypeDescriptorContext context, SG.CultureInfo culture, object value) { if (value is string) { string s = (string)value; if (s.StartsWith("0x", StringComparison.OrdinalIgnoreCase)) { s = s.Substring(2); return(UInt16.Parse(s, SG.NumberStyles.HexNumber, culture)); } return(UInt16.Parse(s, SG.NumberStyles.AllowThousands, culture)); //byte s = (byte)value; //return value.ToString("X"); } return(base.ConvertFrom(context, culture, value)); }
public override object ConvertFrom(Scm.ITypeDescriptorContext context, SG.CultureInfo culture, object value) { if (value is string) { if (string.IsNullOrWhiteSpace((string)value)) { return(null); } string[] sAr = ((string)value).Split('=')[0].Split(','); if (sAr.Length == 8) { return(new NC_Var(HexParse(sAr[0], culture), HexParse(sAr[1], culture), HexParse(sAr[2], culture), HexParse(sAr[3], culture), HexParse(sAr[4], culture), HexParse(sAr[5], culture), HexParse(sAr[6], culture), HexParse(sAr[7], culture)).GetNckTag()); } } return(base.ConvertFrom(context, culture, value)); }
public override bool CanConvertFrom(Scm.ITypeDescriptorContext context, Type sourceType) { return(sourceType == typeof(string)); }