Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6367561
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T00:33:50+00:00 2026-05-25T00:33:50+00:00

I know delegate type is inherited from MulticastDelegate which is in turn inherited from

  • 0

I know delegate type is inherited from MulticastDelegate which is in turn inherited from Delegate class.

Also when we create delegate instance it creates three methods (Invoke, BeginInvoke, EndInvoke apart from constructor) with the same signature of the delegate.

I am not able to understand how it is created internally(methods with delegate type signature)?

Thanks in advance.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T00:33:51+00:00Added an answer on May 25, 2026 at 12:33 am

    Lets say for example, we have a delegate like this:

    public delegate int BinaryOp(int x, int y);
    

    How does the compiler know how to define the Invoke(), BeginInvoke(), and
    EndInvoke() methods?

    This is the generated class by the compiler:

    sealed class BinaryOp : System.MulticastDelegate
    {
    public BinaryOp(object target, uint functionAddress);
    public int Invoke(int x, int y);
    public IAsyncResult BeginInvoke(int x, int y,AsyncCallback cb, object state);
    public int EndInvoke(IAsyncResult result);
    }
    

    First, notice that the parameters and return value defined for the Invoke() method exactly
    match the definition of the BinaryOp delegate.

    The initial parameters to BeginInvoke() members (two integers in our case) are also based on the BinaryOp delegate;
    however, BeginInvoke() will always provide two final parameters (of type AsyncCallback and object) that are used to facilitate asynchronous method invocations.

    Finally, the return value of EndInvoke() is identical to the original
    delegate declaration and will always take as a sole parameter an object implementing the
    IAsyncResult interface.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

i want to know how Delegate is differ from object in cocoa any good
Anyone know how to automatically create a delegate stub method? In WPF it seems
I have a SalesOrder class which is inherited by several different types of sales
i've got a Delegate class for a Source List. But i don't know what
I would like to know about the Invoke(delegate) method. I do not understand why
So i get the gist of $.delegate and I know why it's doing what
class Program { public delegate void VoidMethodDelegate(); public delegate int IntMethodDelegate(); static void Main(string[]
I'm trying setup a map that displays different pin colors depending on the type/class
Is there a way to find the declared generic argument type of an instance
I have a class MyCLController with a property dataSource that is data source delegate

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.