我是C#的初学者,我无法理解delegate
。
任何人都能为我提供一些更好的链接,我可以通过这些链接快速理解吗?
答案 0 :(得分:1)
解释具有足够详细信息的代表,超出了本答案的范围。我会向你们指出一些可以帮助你理解这一点的文章。
来自MSDN ..
C#中的委托类似于a C或C ++中的函数指针。用一个 委托允许程序员 封装对方法的引用 在委托对象中。代表 然后可以将对象传递给代码 可以调用引用的方法, 无需在编译时知道 将调用哪个方法。不像 C或C ++中的函数指针, 代表是面向对象的, 类型安全,安全。
委托声明定义了一种类型,该类型使用一组特定的参数和返回类型封装了一个方法。对于静态方法,委托对象封装要调用的方法。对于实例方法,委托对象封装实例上的实例和方法。如果您有一个委托对象和一组适当的参数,则可以使用参数调用该委托。
一个有趣且有用的属性 代表是它不知道或 关心对象的类 它引用了。任何对象都会 做;重要的是, 方法的参数类型和返回 type匹配委托。这使得 代表完全适合 “匿名”调用。
答案 1 :(得分:1)
您是否已查看MSDN:
委托声明定义了一种引用类型,可用于封装具有特定签名的方法。委托实例封装静态或实例方法。委托与C ++中的函数指针大致相似;但是,代表们是类型安全且安全的。
An Introduction to Delegates,其中第一句话说明:
回调函数无疑是有史以来最有用的编程机制之一。
所以,如果你熟悉回调,你已经对代表有了一些了解。