The method that you pass as a delegate parameter must have the same signature as the delegate declaration.
A delegate instance may encapsulate either static or instance method.
Although the delegate can use an out parameter, we do not recommend its use with multicast event delegates because you cannot know which delegate will be called.