可以在类之外定义委托实例吗?
根据我所读到的内容,委托实例总是使用类作为输入或在类内部定义。
为什么我不能独立定义委托实例?
From what I am reading, a delegate instance is always defined with a class as an input or inside a class.
Why can't I define a delegate instance independently?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
委托是一种类型,您可以在命名空间范围(包括全局命名空间)定义它。
由于委托是引用类型,因此委托实例始终放置在托管(垃圾收集)堆上。可以使用 gcnew 运算符创建委托实例,
Delegate::CreateDelegate
方法,或使用堆栈语义语法(仅限 C++/CLI)。委托类型的引用变量(包括包装永久绑定引用的堆栈语义语法变量、堆上的实例以及对 IDisposable::Dispose 的自动调用)可以作为实例或静态存在托管类型的成员、自动局部变量、静态局部变量或(在 C++/CLI 中)作为全局(命名空间范围)变量。
A delegate is a type, and you can define it at namespace scope (including the global namespace).
Since delegates are reference types, delegate instances always are placed on the managed (garbage collected) heap. Delegate instances can be created with the
gcnew
operator, theDelegate::CreateDelegate
method, or using stack semantics syntax (C++/CLI only).A reference variable of delegate type (including stack semantics syntax variables which wrap a permanently-bound reference, an instance on the heap, and an automatic call to
IDisposable::Dispose
) can exist as an instance or static member of a managed type, an automatic local variable, a static local variable, or (in C++/CLI) as a global (namespace scope) variable.