Хорошо, предположим, вы определили делегата в каком-то классе.
public delegate void StringDelegate (string s);
и другой класс реализует метод:
public static void StringWriter (string s) {...}
В книге, которую я читаю "Программирование на C #", четвертое, они создают делегатов, используя ключевое слово new , например:
ClassDelegate.StringDelegate writer;
writer = new ClassDelegate.StringDelegate (DelegateImplementer.StringWriter);
writer("Hello");
Тем не менее, я вижу, что можно также вызвать метод делегата таким образом
ClassDelegate.StringDelegate writer;
writer = DelegateImplementer.StringWriter;
writer ("Hello");
Какая разница? Почему я хочу создать экземпляр и создать делегат объекта, когда я могу просто передать или сделать ссылку на подпись делегата метода.