Можно ли определить экземпляр делегата вне класса? - PullRequest
1 голос
/ 04 февраля 2011

из того, что я читаю, экземпляр делегата всегда определяется с классом в качестве входа или внутри класса. не понял, почему я не могу определить экземпляр делегата независимо.

спасибо

1 Ответ

0 голосов
/ 05 февраля 2011

Делегат - это тип, и его можно определить в области пространства имен (включая глобальное пространство имен).

Поскольку делегаты являются ссылочными типами, экземпляры делегатов всегда помещаются в управляемую кучу (сборщик мусора).Экземпляры делегатов могут быть созданы с помощью оператора gcnew, , метода Delegate::CreateDelegate или с использованием синтаксиса стековой семантики (только C ++ / CLI).

Ссылочная переменная типа делегата (включаясинтаксические переменные стека семантики, которые обертывают постоянную привязку, экземпляр в куче и автоматический вызов IDisposable::Dispose), могут существовать как экземпляр или статический член управляемого типа, автоматическая локальная переменная, статическая локальная переменная,или (в C ++ / CLI) как глобальная переменная (область имен).

...