-4

我知道这个问题已经被问了很多,但是我需要一个非常实用的方式来回答我所问的所有问题,最好是使用代码示例。什么时候应该在 C# 中使用委托方法?如何使用它?我为什么要使用它?它与多线程有什么关系?

任何答案表示赞赏。

4

3 回答 3

1

委托基本上是一个方法指针。它具有对该方法及其对象的引用(当然,除非它是静态方法)。

每当您需要调用一个方法但调用它的代码不知道它是哪个方法时,您都可以使用委托。最常见的原因是调用该方法的代码是在该方法之前编写的,例如像List<T>.Sort(comparison).

委托不会在不同的线程上调用该方法,而是在与使用委托的代码相同的线程上调用该方法。当在不同的线程上调用方法时,这是因为使用委托的代码已经在不同的线程上运行,或者专门为该方法启动了一个新线程。

于 2012-06-09T17:12:12.297 回答
0

委托是一个函数指针,它指向像 C 中的任何函数。您可以将委托作为参数传递给其他函数。

您可以将其用于回调函数、线程​​等。

有关更多信息,请查看此MSDN链接

于 2012-06-09T17:05:25.993 回答
0

关于多线程 Delegate.BeginInvoke 用于在后台线程中调用方法。委托还用于将函数引用传递给其他多线程结构,如 ThreadPool 后台工作程序等。

于 2012-06-09T21:33:28.120 回答