具有功能的实现方法,这个方法是一个吧数据插入到数据库然后再插入到listview的方法,使用for循环不断的调用这个方法进行插入:

 /// <summary>/// 获得Excel的名称和代号/// </summary>private void GetData(string name, string prefix){try{//标记资料序号int num = 0;AMCustomDatumCategoryGroup CDCG = this.advTree.SelectedNode.Tag as AMCustomDatumCategoryGroup;AMDatumCategory datumCategory = new AMDatumCategory();datumCategory.Name = name;datumCategory.Prefix = prefix;if (CDCG != null){datumCategory.CDCG_ID = CDCG.CDCG_Id;}//插入数据库,如果Excel表出现重复数据,就跳过这一条数据try{//获取标识IDdatumCategory.DatumCategoryId = ApplicationEx.AdministrationInterface.CreateDatumCategory(this.mCategory, datumCategory);}catch (InvalidDatumCategoryException){return;}//插入listviewListViewItem item = new ListViewItem();item.ImageIndex = 0;item.Tag = datumCategory;num++;item.SubItems.Add((num + this.listView.Items.Count + 1).ToString());item.SubItems.Add(datumCategory.Name);item.SubItems.Add(datumCategory.Prefix);item.SubItems.Add(datumCategory.Disabled ? "禁用" : "启用");item.SubItems.Add(datumCategory.CDCG_ID.ToString());if (listView.InvokeRequired){listView.Invoke(new Action<ListViewItem>(s => { this.listView.Items.Add(s); }), item);}else{this.listView.Items.Add(item);}}catch (Exception ex){ApplicationEx.ShowErrorMessageBox(ex);}}

以这个方法作为参数进行调用的写法:

        /// <summary>/// 接收类的其他参数值的委托,即,需要先写一个和方法签名相同的///参数/// </summary>public delegate void CreateDatumDelegate(string datum,string prefix);    //然后就像变量传参一样先设置好参数的类型,就是这个委托的类型
public ImpOrExpDatum(string filePath, CreateDatumDelegate CreateDatumMethod) {this.filePath = filePath;this.CreateDatumMethod = CreateDatumMethod;}
//最后是调用这个方法传入参数this.CreateDatumMethod(workbook.Worksheets[i].Cells[j + 2, 0].StringValue, workbook.Worksheets[i].Cells[j + 2, 1].StringValue);

调用这个方法,将这个方法当做一个参数

 ImpOrExpDatum frm = new ImpOrExpDatum(dialog.FileName, GetData);

它的大体流程是将委托的方法作为参数传入一个方法——这个方法带着一个和传入方法的类型一样的参数——这个方法里面有传入方法的传参调用——传入参数给实现的方法,不懂得小伙伴可以参考

http://www.cnblogs.com/xiaofengfeng/archive/2011/12/02/2271732.html

这个里面的代码复制粘贴调试查看代码的走向流程,另外所有的方法都是要返回到最后调用它的那个位置的,不管执行的内容是什么

转载于:https://www.cnblogs.com/llcdbk/p/4600411.html

方法调方法(委托方式)相关推荐

  1. java 度量_Java度量方法调用率

    我想计算并打印方法调用率,假设我有以下方法,对每个使用的消息(来自kafka)调用: public class Consumer { public void run() { while (true) ...

  2. 古筝d调变降e调怎么办_古筝转调方法_古筝怎么转调

    古筝的转调是学习古筝的一大难题,那么古筝转调有哪些方法?下面学习啦小编整理了古筝转调方法,供你阅读参考. 古筝转调方法:有效实用的转调技巧 现在我们是基本的D调, 我们先来听一下D调的音阶, D调的首 ...

  3. idea2021版本调方法括号前面总是带空格

    idea调方法总是带空格,也不知道从哪出来的问题,个人不太适应 解决办法: File --->Settings--->Editor--->Code style 选择Spaces 取消 ...

  4. 安卓一个方法多处调用_一个隐藏在方法集和方法调用中且易被忽略的小细节

    来自公众号:新世界杂货铺 作为一个长期从事Go语言开发的程序猿,笔者不敢说自己是老油条但也勉强算一个小油条.然而就在今天,笔者研究TLS/SSL握手源码的时候,突然灵光一闪,想到了一个和自己认知不符的 ...

  5. window.addeventlistener 不能调用方法_方法入门(基础篇五)

    前边写运算符的时候,都是创建一个类和一个main方法,这样会有很多重复代码,为了减少重复代码,我们可以使用方法来实现. 什么是方法? Java的方法是语句的集合,它们在一起执行一个功能. 方法是解决一 ...

  6. js 调用另一个类的方法_一个隐藏在方法集和方法调用中且易被忽略的小细节

    来自公众号:新世界杂货铺 作为一个长期从事Go语言开发的程序猿,笔者不敢说自己是老油条但也勉强算一个小油条.然而就在今天,笔者研究TLS/SSL握手源码的时候,突然灵光一闪,想到了一个和自己认知不符的 ...

  7. JVM学习笔记之-运行时数据区概述及线程概述,程序计数器(PC寄存器),虚拟机栈(栈,局部变量表,操作数栈,动态连接,方法调用,方法返回地址等),本地方法接口,本地方法栈

    运行时数据区概述及线程概述 内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的实时运行.JVM内存布局规定了Java在运行过程中内存申请.分配.管理的策略,保证了JV ...

  8. Java方法01 方法(函数)定义、调用、值传递、重载、命令行传递参数

    Java 方法的定义.调用.值传递.重载.命令行传递参数 1. 什么是方法? 2. 方法的定义和调用 3. 值传递和引用传递 4. 方法的重载 5. 命令行传递参数 6. 可变参数(输入参数的数量不确 ...

  9. php方法重载方法重写_Java基础之方法的重载

    重载的定义:在同一个类中,方法名相同,只要它们的参数个数或者 参数类型不同即可. // 如下的四个方法构成了重载 public void getSum(int i,int j) { System.ou ...

最新文章

  1. 快速滚动_方老师教滚动快速作文
  2. python requests max retries_我可以为request.request设置max_retries吗?
  3. 应用层级时空记忆模型(HTM)实现对时序数据的异常检测
  4. Google智能生态链的演进路径
  5. hdu1305 字典树水题
  6. linux shell的二级菜单,linux shell编程之菜单选择(一)
  7. php快速学习方法,php快速入门学习方法
  8. 【转】有限状态机用法教程
  9. 04CDatabase类
  10. protoc 生成C++代码
  11. java线程的状态改变(练习)
  12. vuex实现及简略解析
  13. java用io流存信息_Java io流的学习
  14. matlab fftshift函数,matlab fft fftshift--【转帖】
  15. minecraft java文件夹_Minecraft游戏下载 文件结构说明
  16. 5月电脑攒机配置推荐!
  17. 中规中矩的CentOS7安装Python3.5
  18. 乐行科技获1.08亿元A轮融资,并推出艾特好车 1
  19. 柱坐标系与直角坐标系的转换
  20. 什么是第三代半导体,半导体的发展历程,第三代半导体的前景

热门文章

  1. 【CodeForces - 334B】Eight Point Sets(水题模拟,有坑)
  2. 【HDU - 2899】 Strange fuction(二分或三分,求导)
  3. java 调用动态链接库_JAVA技巧:JNative调用动态链接库问题(SOS)
  4. 微型计算机及接口技术试卷,微机原理及接口技术试题以及答案
  5. linux依赖包在哪个目录,命令-Linux cmd在jar中搜索类文件,而与jar路径无关
  6. 使用枚举完成学生类,性别的设置。
  7. 使用字符串切割,使手机号中间四位隐藏
  8. SQL Server cast() 批量更新列内容
  9. Sql Server 2005 分页
  10. java中如何生成随机数?