Exemple #1
0
        public void AddIndexTest()
        {
            dynamic obj = new BaseElasticObject();

            (obj as IDictionary <string, object>)["Nome"] = "vitor";
            obj.Oid = 1;


            Assert.AreEqual("vitor", (obj as IDictionary <string, object>)["Nome"]);
            Assert.AreEqual(1, (obj as IDictionary <string, object>)["Oid"]);

            Assert.IsTrue((obj as IDictionary <string, object>).ContainsKey("Nome"));
            Assert.IsTrue((obj as IDictionary <string, object>).ContainsKey("Oid"));

            var tipo = obj.GetType();

            Assert.AreEqual(typeof(BaseElasticObject), tipo);

            var nomes = (obj.GetDynamicMemberNames() as IEnumerable <string>);

            Assert.AreEqual(2, nomes.Count());
            Assert.AreEqual(2, (obj.AsEnumerable() as IEnumerable <KeyValuePair <string, object> >).Count());
            Assert.AreEqual(2, (obj as IDictionary <string, object>).Count);
            Assert.AreEqual(2, (obj as ICollection <KeyValuePair <string, object> >).Count);
        }
Exemple #2
0
        public void ReflectionTest()
        {
            dynamic obj = new BaseElasticObject();

            obj.Oid   = 2;
            obj.Nome  = "vitor";
            obj.Data  = DateTime.Today;
            obj.Valor = 1.23;
            (obj as IDictionary <string, object>).Add("Foo", "teste foo");
            (obj as IDictionary <string, object>)["Bar"] = "teste bar";

            foreach (var x in obj.GetType().GetProperties(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public))
            {
                if (x.Name == "Item")
                {
                    continue;
                }
                Console.WriteLine($"{x.Name}:{x.GetValue(obj)}");
            }
        }