C# Action委托类型

来源:互联网 发布:淘宝女装店铺logo设计 编辑:程序博客网 时间:2024/05/21 17:49
问题:项目中用到动态Dll,需要用到反射的知识。先在一个解决方案中,有一个项目时类库FrmProject,类库中包含有窗体,另一个项目是运行时的主窗体 FrmMain!主窗体是通过动态加载FrmProject.Dll! 类库中的窗体不能直接在主窗体中实例出来。现需要在FrmProject类库中的窗体点击一个复选框后,将得到的结果传递给主窗体! 最大问题的是,不能通过自定义的委托类型来实现,这个有点难说明白,估计只有遇到了才比较清楚。

最后是通过 Action<> 委托类型 来实现!以下是Action<>的定义:

#region 程序集 mscorlib.dll, v4.0.0.0// C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\mscorlib.dll#endregionnamespace System{    // 摘要:     //     封装一个方法,该方法只有一个参数并且不返回值。    //    // 参数:     //   obj:    //     此委托封装的方法的参数。    //    // 类型参数:     //   T:    //     此委托封装的方法的参数类型。    public delegate void Action<in T>(T obj);}

比较容易理解的例子:Action委托类型   !

Action是一个无返回值的委托,Func是一个有返回值的委托,具体用法可以百度或是看帮助文档!


0 0
原创粉丝点击