温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

.Net Framework回调函数的实现方法

发布时间:2021-06-17 14:58:18 来源:亿速云 阅读:343 作者:chen 栏目:编程语言

这篇文章主要讲解了“.Net Framework回调函数的实现方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“.Net Framework回调函数的实现方法”吧!

.Net Framework回调函数可以通过委托的应用来实现。那么具体的操作步骤会在这篇文章中进行详细的解读,希望初学者们可以以此进行以此实际操作,以加强对这方面知识的认识程度,提高自己的代码编写效率。

.Net Framework回调函数操作方法代码示例:

  1. class Set  

  2. {  

  3. private Object[] items;  

  4. public Set(int numItems)  

  5. {  

  6. items = new Object[numItems];  

  7. for (int i = 0; i < numItems; i++)  

  8. {  

  9. items[i] = i;  

  10. }  

  11. }  

  12. public delegate void Feedback
    (Object value, int item, int numItems);  

  13. //定义了一个共有委托类型Feedback,
    委托表示一个回调方法签名,故Feedback
    委托表示一个接受3个参数,且返回值为
    void的回调方法  

  14. public void ProcessItems
    (Feedback feedback)  

  15. {  

  16. for (int item = 0; item 
    < items.Length; item++)  

  17. {  

  18. if (feedback != null)  

  19. {  

  20. feedback(items[item],item+1,
    items.Length);  

  21. }  

  22. } //ProcessItems方法接受一个参数feedback,
    然后调用由feedback变量所指定的回调方法  

  23. }  

1.使用委托进行.Net Framework回调函数静态方法

  1. static void StaticCallbacks()  

  2. {  

  3. Set setofItems = new Set(5);  

  4. setofItems.ProcessItems(null);  

  5. //传递给feedback参数的值为null,
    不会调用任何回调方法  

  6. setofItems.ProcessItems(new
     Set.Feedback(/**//*method*/));  

  7. //构造一个委托对象,封装一个方法method,
    这使得该方法可以通过委托封装进行间接回调  

  8. Set.Feedback fb = null;  

  9. fb += new Set.Feedback(/**//*method1*/);  

  10. fb += new Set.Feedback(/**//*method2*/);  

  11. setofItems.ProcessItems(fb);  

  12. //委托链,所有回调的方法都必须接受
    相同参数,返回值类型  

2.使用委托进行.Net Framework回调函数实例方法

与调用静态方法不同的是,回调实例方法需要构造一个对象

  1. App appobj=new App();  

  2. setOfItems.ProcessItems
    (new Set.Feedback(appobj.
    FeedbackToFile)); 

感谢各位的阅读,以上就是“.Net Framework回调函数的实现方法”的内容了,经过本文的学习后,相信大家对.Net Framework回调函数的实现方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI