可以在类之外定义委托实例吗?

时间:2011-02-04 19:14:43

标签: delegates c++-cli managed-c++

从我正在阅读的委托实例总是定义一个类作为输入或在类中。 不明白为什么我不能独立定义一个委托实例。

感谢

1 个答案:

答案 0 :(得分:0)

委托是一种类型,您可以在命名空间范围内定义它(包括全局命名空间)。

由于委托是引用类型,委托实例总是放在托管(垃圾收集)堆上。可以使用gcnew运算符the Delegate::CreateDelegate method或使用堆栈语义语法(仅限C ++ / CLI)创建委派实例。

委托类型的引用变量(包括堆栈语义语法变量,它包装永久绑定引用,堆上的实例和自动调用IDisposable::Dispose)可以作为实例或静态成员存在托管类型,自动局部变量,静态局部变量或(在C ++ / CLI中)作为全局(名称空间范围)变量。