反射 别的用处先不管,至少在WinForm登录后的权限控制上有大用,比如登录后的窗体左侧树,点击通过字符串创建出窗体实例

案例如下图

AssTest类很简单

namespace assemblyTest
{
public class AssTest
{ public string Name{ get; set; }
public int Age { get; set;} public string GetAssTest()
{
return string.Format("I Am {0}, i'm {1} years old", Name, Age);
} public int SumAB(int a, int b)
{ return a + b; }
}
}

控制台程序

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Assembly asb= Assembly.Load("assemblyTest");//类库信息 Type type = asb.GetType("assemblyTest.AssTest");//类的类型 object asstest = asb.CreateInstance("assemblyTest.AssTest");//创建类的对像 Form frmTest= (Form)asb.CreateInstance("assemblyTest.frmTest");//创建窗体的对像 类库中加了个窗体 这里也可以0.0 //属性赋值
type.GetProperty("Name").SetValue(asstest, "小王");
type.GetProperty("Age").SetValue(asstest, ); MethodInfo mi = type.GetMethod("GetAssTest");//找到方法
Console.WriteLine( mi.Invoke(asstest,null)) ;//调用并输出 mi = type.GetMethod("SumAB");
object sumab = mi.Invoke(asstest, new object[] { , });
Console.WriteLine(sumab);//调用并输出 frmTest.ShowDialog();//显示窗体 Console.ReadKey();
}
}
}

结果

//全路径
Assembly asm = Assembly.LoadFile(@"D:\我的项目\vs\SWIE\SoftWare\权限管理\Test1\bin\Debug\Model.dll");//FullPath //取类型
Type t = asm.GetType("Model.AA_User"); //生成对象
object u = Activator.CreateInstance(t); //查找对像属性
PropertyInfo p = t.GetProperty("Code");
p.SetValue(u, ""); //取属性值
object getproperty = t.GetProperty("Code").GetValue(u, null); //方法一
object getproperty1 = u.GetType().GetProperty("Code").GetValue(u, null); //方法二

最新文章

  1. Oracle- 表的自增长创建
  2. 读取spring配置文件的方法(spring读取资源文件)
  3. Ellipse常用快捷键
  4. HYSBZ 2243 染色 (树链拆分)
  5. mysql新建数据库时的collation选择(转)
  6. 从今天开始学习Java了
  7. 51Nod 1289 大鱼吃小鱼(模拟,经典好题)
  8. DSP_TMS32F2812的串口操作
  9. pentaho cde 自定义复选下拉框 checkbox select
  10. 在不重装系统的情况下创建Linux的Swap分区
  11. 关于富文本编辑器ueditor(jsp版)上传文件到阿里云OSS的简单实例,适合新手
  12. bzoj 1103 : [POI2007]大都市meg (树链剖分+线段树)
  13. javascript 生成MD5加密
  14. Android 學習之旅!(2)
  15. 处女男学Android(七)---Android 应用资源之StateListDrawable
  16. JQuery效果隐藏/显示
  17. Spring中三个重要概念 IOC AOP Bean
  18. 【LOJ】#2016. 「SCOI2016」美味
  19. arduino波特率
  20. [C++]复制构造函数、赋值操作符与隐式类类型转换

热门文章

  1. 【LCT维护子树信息】uoj207 共价大爷游长沙
  2. Rust <5>:测试
  3. web跨域
  4. HTML5网页如何让所有的浏览器都能识别语义元素标签样式
  5. 微信小程序の模板
  6. 2018-2-13-安装-aria2
  7. android5.1 隐藏状态栏
  8. 前后台 工作切换---------------Linux 任务管理器(一)
  9. Hession实现远程通讯(基于Binary-RPC协议)
  10. RabbitMQ:从零开始