.Net Framework回调函数可以通过委托的应用来实现。那么具体的操作步骤会在这篇文章中进行详细的解读,希望初学者们可以以此进行以此实际操作,以加强对这方面知识的认识程度,提高自己的代码编写效率。#t#
.Net Framework回调函数操作方法代码示例:
- class Set
- {
- private Object[] items;
- public Set(int numItems)
- {
- items = new Object[numItems];
- for (int i = 0; i < numItems; i++)
- {
- items[i] = i;
- }
- }
- public delegate void Feedback
(Object value, int item, int numItems); - //定义了一个共有委托类型Feedback,
委托表示一个回调方法签名,故Feedback
委托表示一个接受3个参数,且返回值为
void的回调方法 - public void ProcessItems
(Feedback feedback) - {
- for (int item = 0; item
< items.Length; item++) - {
- if (feedback != null)
- {
- feedback(items[item],item+1,
items.Length); - }
- } //ProcessItems方法接受一个参数feedback,
然后调用由feedback变量所指定的回调方法 - }
- }
1.使用委托进行.Net Framework回调函数静态方法
- static void StaticCallbacks()
- {
- Set setofItems = new Set(5);
- setofItems.ProcessItems(null);
- //传递给feedback参数的值为null,
不会调用任何回调方法- setofItems.ProcessItems(new
Set.Feedback(/**//*method*/));- //构造一个委托对象,封装一个方法method,
这使得该方法可以通过委托封装进行间接回调- Set.Feedback fb = null;
- fb += new Set.Feedback(/**//*method1*/);
- fb += new Set.Feedback(/**//*method2*/);
- setofItems.ProcessItems(fb);
- //委托链,所有回调的方法都必须接受
相同参数,返回值类型- }
2.使用委托进行.Net Framework回调函数实例方法
与调用静态方法不同的是,回调实例方法需要构造一个对象
- App appobj=new App();
- setOfItems.ProcessItems
(new Set.Feedback(appobj.
FeedbackToFile));