Exemple #1
0
        /// <summary>
        ///   "key=value"形式の定義を読んでObjectDictionaryを作る。
        ///   キー並べ替え関数指定版。
        /// </summary>
        public static ObjectDictionary FromString(string str, IComparer <string> cmp)
        {
            ObjectDictionary dict = new ObjectDictionary(cmp);

            dict.Set(str);
            return(dict);
        }
Exemple #2
0
        /// <summary>
        ///   オブジェクトのフィールドとその値からObjectDictionaryを作る。
        ///   キー並べ替え関数指定版。
        /// </summary>
        public static ObjectDictionary FromObjectFields(object obj, IComparer <string> cmp)
        {
            ObjectDictionary dict = new ObjectDictionary(cmp);

            if (obj == null)
            {
                return(dict);
            }
            dict.SetObjectFields(obj);
            return(dict);
        }
Exemple #3
0
        public static int Main(string[] args)
        {
            ObjectDictionary dict = new ObjectDictionary();

            dict["abc"] = "hello";
            dict["def"] = 3;
            TestClass tc = new TestClass();

            tc.IntNumber      = 2;
            tc.DoubleNumber   = 3.14;
            tc.StringField    = "a long time ago";
            tc.StringList     = new string[] { "uno", "dos", "tres" };
            dict["testclass"] = tc;
            List <TestClass> list = new List <TestClass>();

            for (int i = 0; i < 10; i++)
            {
                tc              = new TestClass();
                tc.IntNumber    = i;
                tc.DoubleNumber = (double)i / 3.0;
                tc.StringField  = String.Format("Number#{0}", i);
                tc.StringList   = new string[8];
                for (int j = 0; j < tc.StringList.Length; j++)
                {
                    tc.StringList[j] = String.Format("Number#{0}-{1}", i, j);
                }
                list.Add(tc);
            }
            dict["list"] = list;

            Console.WriteLine("abc={0}", dict.Get("abc"));
            Console.WriteLine("def={0}", dict["def"]);
            tc = (TestClass)dict["testclass"];
            Console.WriteLine("tc: {0}, {1}, {2}, {3}", tc.IntNumber, tc.DoubleNumber, tc.StringField, tc.IntNumber2);
            tc = (TestClass)dict.GetObject("testclass");
            Console.WriteLine("tc: {0}, {1}, {2}, {3}", tc.IntNumber, tc.DoubleNumber, tc.StringField, tc.IntNumber2);
            Console.WriteLine("testclass.StringList[1] = {0}", dict.GetObject("testclass.StringList[1]"));
            Console.WriteLine("list[3].StringList[5] = {0}", dict.GetObject("list[3].StringList[5]"));
            Console.WriteLine("list[def].StringList[5] = {0}", dict.GetObject("list[def].StringList[5]"));
            Console.WriteLine("list[testclass.IntNumber2].StringList[5] = {0}", dict.GetObject("list[testclass.IntNumber2].StringList[5]"));
            Console.WriteLine("list[list[6].IntNumber].StringList[5] = {0}", dict.GetObject("list[list[6].IntNumber].StringList[5]"));
            Console.WriteLine("'hogehoge' = {0}", dict.GetObject("'hogehoge'"));
            Console.WriteLine("3.14 = {0}", dict.GetObject("3.14"));
            return(0);
        }
Exemple #4
0
 /// <summary>
 ///   コピーコンストラクタ
 /// </summary>
 public ObjectDictionary(ObjectDictionary src) : base(src, src.Comparer)
 {
 }