"委托"是指一种类型还是一种对象?

Mic*_*bon 1 .net msdn delegates

从MSDN读取:"委托是一种引用方法的类型.一旦为委托分配了一个方法,它的行为就像那个方法一样."

那么"委托"是指一种类型还是一种对象?!

......不可能两者兼而有之.在我看来,单个词用于两个不同的含义:

  1. 包含对某些指定签名的方法的引用的类型,
  2. 这种类型的对象,实际上可以像方法一样调用.

我更喜欢更精确的词汇表,并在第一种情况下使用"委托类型".我最近一直在阅读很多关于事件和代表的内容,这种模糊性使我多次困惑.

MSDN中"委托"一词的其他一些用法,第一个意思是:

  • "只有在事件生成事件数据时才需要自定义事件委托"
  • "委托声明定义了一个派生自System.Delegate类的类"

MSDN中"委托"一词的其他一些用法,第二个含义:

  • "指定在发生某些事件时将被调用的委托"
  • "委托是引用方法的对象.它们有时被描述为类型安全的函数指针"

你怎么看?为什么来自微软的人引入了这种模糊性?我是唯一一个对同一个词引用不同概念的概念问题的人.

Joh*_*ers 9

文本是delegate双向使用的; 作为类型和类型的实例.

它应该说"委托类型是引用方法的类型.一旦为委托实例分配了一个方法,它的行为就像那个方法一样."