日期:2014-05-17  浏览次数:20437 次

dynamic反射属性


dynamic  d = new info();

d.aa = 1;
d.bb = 2 

在不知道有AA或BB属性的前提下,如何通过反射得知。 

------解决方案--------------------
如果info不是从ExpendroObject继承的话,而它没有aa bb属性,那么会报错。
你这么写一样的反射
d.GetType().GetPropertites()
------解决方案--------------------
                    foreach (PropertyInfo proper in type.GetProperties())
                    {
                        if (reader.IsDBNull(proper.Name) != null && !reader.IsDBNull(proper.Name))
                            proper.SetValue(obj, reader.GetValue(proper.Name), null);
                    }
------解决方案--------------------
  dynamic d= new {aa="a",bb="b"};
            Type t = d.GetType();
            foreach (var propertyInfo in t.GetProperties())
            {
                Console.WriteLine(propertyInfo.Name);
            }
            Console.ReadLine();