开发者

What is delegate in C#? [duplicate]

This question already has answers here: Closed 12 years ago.

I am a beginner of C#, and I can't understand delegate. Can anybody 开发者_开发知识库provide me some better links through which I can understand quickly?


Explaining delegates with adequate details id beyond the scope of this answer. I'd point you to few articles that can help you understand this.

  • http://msdn.microsoft.com/en-us/library/ms173171(VS.80).aspx
  • http://msdn.microsoft.com/en-us/library/aa288459(VS.71).aspx

From MSDN..

A delegate in C# is similar to a function pointer in C or C++. Using a delegate allows the programmer to encapsulate a reference to a method inside a delegate object. The delegate object can then be passed to code which can call the referenced method, without having to know at compile time which method will be invoked. Unlike function pointers in C or C++, delegates are object-oriented, type-safe, and secure.

A delegate declaration defines a type that encapsulates a method with a particular set of arguments and return type. For static methods, a delegate object encapsulates the method to be called. For instance methods, a delegate object encapsulates both an instance and a method on the instance. If you have a delegate object and an appropriate set of arguments, you can invoke the delegate with the arguments.

An interesting and useful property of a delegate is that it does not know or care about the class of the object that it references. Any object will do; all that matters is that the method's argument types and return type match the delegate's. This makes delegates perfectly suited for "anonymous" invocation.


Have you checked out the MSDN:

delegate:

A delegate declaration defines a reference type that can be used to encapsulate a method with a specific signature. A delegate instance encapsulates a static or an instance method. Delegates are roughly similar to function pointers in C++; however, delegates are type-safe and secure.

An Introduction to Delegates, the first sentence of which states:

Callback functions are certainly one of the most useful programming mechanisms ever created.

So, if you are familiar with callbacks, you have some understanding of delegates already.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜