For example, if feedback is a variable that references a Feedback delegate, then to invoke the delegate, the code would look like this: feedback(items[item], item, items.Length); As you can see, the developer must know when coding how many parameters the callback method requires and the types of those parameters.