public static void Main()
    {
        Int32 version = 3;

        switch (version)
        {
        case 1: Version1.Go(); break;

        case 2: Version2.Go(); break;

        case 3: Version3.Go(); break;
        }
    }
Example #2
0
        public static string Convert(string s)
        {
            Version2 v2 = JsonConvert.DeserializeObject <Version2>(s);
            Dictionary <string, double> cst = new Dictionary <string, double>();

            if (v2.constants != null)
            {
                foreach (var x in v2.constants)
                {
                    cst.Add(x.Key, x.Value);
                }
            }
            List <NewItem> items = new List <NewItem>();

            foreach (var x in v2.products)
            {
                double d;
                string ss = x.Value.price;
                if (v2.constants != null)
                {
                    foreach (var c in cst)
                    {
                        ss = ss.Replace(c.Key, c.Value.ToString());
                    }
                    ss = ss.Replace(",", ".");
                }
                Double.TryParse(new DataTable().Compute(ss, "").ToString(), out d);
                items.Add(new NewItem(x.Key, x.Value.name, d, x.Value.count));
            }
            Version3 v3 = new Version3("3", items);

            string res = JsonConvert.SerializeObject(v3, Formatting.Indented);

            res = res.Replace(".0,", ",");
            res = res.Replace("  ", "    ");
            return(res);
        }
Example #3
0
 public override int GetHashCode()
 {
     return(Version1.GetHashCode() * 13 + Version2.GetHashCode() * 17 + Version3.GetHashCode() * 19 + Version4.GetHashCode() * 23);
 }
Example #4
0
 static async Task Third()
 {
     Version3 version3 = new Version3();
 }
Example #5
0
        internal static bool TestCase()
        {
            #region 序列化版本 0 的数据,手动传 SerializeConfig 参数仅用于测试模拟历史数据版本
            byte[] data0 = AutoCSer.BinarySerialize.Serializer.Serialize(new GlobalVersion {
                Value9 = 1
            }, new AutoCSer.BinarySerialize.SerializeConfig {
                GlobalVersion = 0
            });
            Version1 value1 = AutoCSer.BinarySerialize.DeSerializer.DeSerialize <Version1>(data0);
            if (value1 == null || value1.Value9 != 1)
            {
                return(false);
            }
            Version2 value2 = AutoCSer.BinarySerialize.DeSerializer.DeSerialize <Version2>(data0);
            if (value2 == null || value2.Value9 != 1)
            {
                return(false);
            }
            Version3 value3 = AutoCSer.BinarySerialize.DeSerializer.DeSerialize <Version3>(data0);
            if (value3 == null || value3.Value9 != 1)
            {
                return(false);
            }
            #endregion

            #region 序列化版本 1 的数据,手动传 SerializeConfig 参数仅用于测试模拟历史数据版本
            byte[] data1 = AutoCSer.BinarySerialize.Serializer.Serialize(new Version1 {
                Value9 = 1, Value8 = 2
            }, new AutoCSer.BinarySerialize.SerializeConfig {
                GlobalVersion = 1
            });
            value1 = AutoCSer.BinarySerialize.DeSerializer.DeSerialize <Version1>(data1);
            if (value1 == null || value1.Value9 != 1 || value1.Value8 != 2)
            {
                return(false);
            }
            value2 = AutoCSer.BinarySerialize.DeSerializer.DeSerialize <Version2>(data1);
            if (value2 == null || value2.Value9 != 1 || value2.Value8 != 2)
            {
                return(false);
            }
            value3 = AutoCSer.BinarySerialize.DeSerializer.DeSerialize <Version3>(data1);
            if (value3 == null || value3.Value9 != 1 || value3.Value8 != 2)
            {
                return(false);
            }
            #endregion

            #region 序列化版本 2 的数据,手动传 SerializeConfig 参数仅用于测试模拟历史数据版本
            byte[] data2 = AutoCSer.BinarySerialize.Serializer.Serialize(new Version2 {
                Value9 = 1, Value8 = 2, Value7 = 3
            }, new AutoCSer.BinarySerialize.SerializeConfig {
                GlobalVersion = 2
            });
            value2 = AutoCSer.BinarySerialize.DeSerializer.DeSerialize <Version2>(data2);
            if (value2 == null || value2.Value9 != 1 || value2.Value8 != 0 || value2.Value7 != 3)
            {
                return(false);
            }
            value3 = AutoCSer.BinarySerialize.DeSerializer.DeSerialize <Version3>(data2);
            if (value3 == null || value3.Value9 != 1 || value3.Value8 != 0)
            {
                return(false);
            }
            #endregion

            #region 序列化版本 3 的数据,手动传 SerializeConfig 参数仅用于测试模拟历史数据版本
            byte[] data3 = AutoCSer.BinarySerialize.Serializer.Serialize(new Version3 {
                Value9 = 1, Value8 = 2, Value6 = 4
            }, new AutoCSer.BinarySerialize.SerializeConfig {
                GlobalVersion = 3
            });
            value3 = AutoCSer.BinarySerialize.DeSerializer.DeSerialize <Version3>(data3);
            if (value3 == null || value3.Value9 != 1 || value3.Value8 != 0 || value3.Value6 != 4)
            {
                return(false);
            }
            #endregion

            return(true);
        }