【发布时间】:2009-11-17 03:05:24
【问题描述】:
在委托的上下文中,术语回调是否意味着,“一个委托将它委托给另一个委托以完成某些任务”?
示例:(根据我的理解,我已经实现了回调,如有错误请指正)
namespace Test
{
public delegate string CallbackDemo(string str);
class Program
{
static void Main(string[] args)
{
CallbackDemo handler = new CallbackDemo(StrAnother);
string substr = Strfunc(handler);
Console.WriteLine(substr);
Console.ReadKey(true);
}
static string Strfunc(CallbackDemo callback)
{
return callback("Hello World");
}
static string StrAnother(string str)
{
return str.Substring(1, 3).ToString();
}
}
}
如有必要,请提供示例。
【问题讨论】:
-
恕我直言,将 Delegate 视为一个指向 Method 的函数指针的 Type 很有价值:就像一个 Interface 或 Class :它是一个实例的模板,它本身就是对其内部 Method 的引用:实例可以在对象之间传递并随时调用/执行。如果您有任何方法可以掌握 Jon Skeet 的“C# in Depth”,并阅读第 2 章关于代表的部分和第 5 章关于代表的部分,恕我直言,您将了解代表从“幼虫阶段”开始的“进化”在 C# 1.0 中,它们在 C# 3.0 中完全“进化”的形式。我从未找到过更好的展示方式