可能的重复:
c#中有函数指针吗? https://stackoverflow.com/questions/2738850/are-there-function-pointers-in-c
我有兴趣找出两者之间的区别delegate http://msdn.microsoft.com/en-us/library/ms173171%28v=vs.80%29.aspx在 C# 中和函数指针 http://en.wikipedia.org/wiki/Function_pointer in C++.
C# 中的委托是带有内置迭代器的类型安全函数指针。
它保证指向具有指定签名的有效函数(与 C 不同,在 C 中指针可以转换为指向谁知道什么)。它还支持迭代多个绑定函数的概念。
在 C# 中,委托是多播这意味着它们可以迭代多个函数。例如:
class Program
{
delegate void Foo();
static void Main(string[] args)
{
Foo myDelegate = One;
myDelegate += Two;
myDelegate(); // Will call One then Two
}
static void One()
{
Console.WriteLine("In one..");
}
static void Two()
{
Console.WriteLine("In two..");
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)