В чём разница между Invoke
и обычным вызовом делегата через ()
в C#?
Для делегатов разницы между вызовом через d.Invoke(список аргументов)
и d(список аргументов)
нет.
При этом генерируется одинаковый IL-код: вызов через скобки транслируется в Invoke
. (Проверка.)
Интересное синтаксическое отличие состоит в том, что проверка на null
с Invoke
-синтаксисом проще: d?.Invoke(список аргументов)
.
Документация: Common Patterns for Delegates / Handling Null Delegates.
Также для вызова через рефлексию вам понадобится использовать Invoke
, т. к. скобки на уровне рефлексии никак не представлены.
Как сравнить две картинки на разных сайтах? Интересует именно само сравнениеВся процедура по вытаскиванию картинок и обращение к сайтам...
Как создать кнопку Button, при нажатии на которую форма будет создавать новые экземпляры?