, например. если вы пишете ...
public delegate void MyTypedDel(int x)
Intellisense показывает, что BeginInvoke, Invoke и EndInvoke являются частью определения типа MyTypedDel.
Они не являются частью определения типа делегата или MulticastDelegate. (Делегат имеет метод DynamicInvoke, который использует привязку позднего/времени выполнения для привязки к методу.)Кто добавляет определения метода BeginInvoke, Invoke и EndInvoke к типизированному делегату?
Итак, мой вопрос в том, где эти методы смешиваются с типизированным определением типа делегата и как выглядит его реализация? Я прочитал, что ... Invoke внутренне вызывает BeginInvoke и EndInvoke последовательно в том же потоке. Это правда?
Просто любопытно, как к магии под капотом здесь .. Может быть, я пропустил что-то реальное очевидное ... в этом случае быть жестокой :)
Почему блоки .method пустые .. как в где реализация/IL для этих методов? Куда направляются эти вызовы? – Gishu
Я думаю, что это связано с управляемыми метаданными времени выполнения. Я предполагаю, что это эквивалентно InternalCall, то есть CLR реализует эти методы внутренне. –
ooh .. более волшебная пыль;) Спасибо за ответ ... полезный. – Gishu