首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

dynamic对象怎么通过反射获取其所有属性名称

2012-03-14 
dynamic对象如何通过反射获取其所有属性名称dynamic对象如何通过反射获取其所有属性名称?例如dynamic user

dynamic对象如何通过反射获取其所有属性名称
dynamic对象如何通过反射获取其所有属性名称?
例如dynamic userInfo = app.Get("me");
但我不知道userInfo对象到底有哪些属性,能否通过反射的方式获取这些属性?

[解决办法]

C# code
// User为一个ClassType t = User.GetType();// 获取类的所有公共属性System.Reflection.PropertyInfo[] pInfo = t.GetProperties();// 遍历公共属性foreach(System.Reflection.PropertyInfo pio in pInfo){            string fieldName = pio.Name;        // 公共属性的Name            Type pioType = pio.PropertyType;    // 公共属性的类型}
[解决办法]
C# code
 private void dynamicRun()      {          string filePath = @"D:\ScheduledJob\DLL\ScheduleJob.dll";          string typeName = "ScheduleJob.DailyInfo";          // string methodName = "SendDailyInfo";          string methodArgs = "hello,this is dynamic Demo";          try          {              //载入Assembly              Assembly a = Assembly.LoadFrom(filePath);              //应用dynamic自动实现反射              dynamic o = a.CreateInstance(typeName, false, BindingFlags.CreateInstance, null, null, null, null);              //这里直接写要执行的方法和参数              o.SendDailyInfo(methodArgs);          }          catch (Exception ex)          {              Console.WriteLine("Cannot run dynamic " + ex.InnerException);          }      }
[解决办法]
dynamic也是一个object。其它的说了也是白说。

热点排行