日期:2014-05-18 浏览次数:20541 次
// User为一个Class
Type 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; // 公共属性的类型
}
------解决方案--------------------
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。其它的说了也是白说。