コード例 #1
0
            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));
            }
コード例 #2
0
            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));
            }
コード例 #3
0
            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));
            }
コード例 #4
0
 public override bool CanConvertFrom(Scm.ITypeDescriptorContext context, Type sourceType)
 {
     return(sourceType == typeof(string));
 }