欢迎光临
我们一直在努力

net 什么是委托,net 中的委托 和java中的有什么 区别

本文目录一览

  • 1,net 中的委托 和java中的有什么 区别
  • 2,net里面的委托有什么用
  • 3,谁能用最简单的方法解释CNet 中的委托

1,net 中的委托 和java中的有什么 区别

.net中的委托概念java中没有相同的,只有事件模式是一样的,java中有一个叫Obserable接口,可以添加IEventListener,使用内部类可以构建类似于委托的概念
你好!mark如果对你有帮助,望采纳。
思想一样,实现方式不一样。

net 中的委托 和java中的有什么 区别

2,net里面的委托有什么用

委托是用来处理其他语言(如 C++、Pascal 和 Modula)需用函数指针来处理的情况的。不过与 C++ 函数指针不同,委托是完全面对对象的;另外,C++ 指针仅指向成员函数,而委托同时封装了对象实例和方法。

委托声明定义一个从 System.Delegate 类派生的类。委托实例封装一个调用列表,该列表列出一个或多个方法,其中每个方法均作为一个可调用实体来引用。对于实例方法,可调用实体由该方法和一个相关联的实例组成。对于静态方法,可调用实体仅由一个方法组成。用一个适当的参数集来调用一个委托实例,就是用此给定的参数集来调用该委托实例的每个可调用实体。

委托实例的一个有趣且有用的属性是:它不知道也不关心它所封装的方法所属的类;它所关心的仅限于这些方法必须与委托的类型兼容这使委托非常适合于“匿名”调用。

net里面的委托有什么用

3,谁能用最简单的方法解释CNet 中的委托

你在类的外面是不允许控制事件的注册委托的,假如允许=的话,那么就是说任何外部代码都可以使用任何事件替换已经注册好的事件,那样不就不安全了,这是一种保护措施,如果你在类内部的话是可以的。回答补充:我可以给你深入讲解一下.net的事件机制实际上你看到的一个 public event mydelegate myevent;一个类型为mydelegate的名字叫myevent的事件实际上在编译的时候会生成下面三个成员第一个是一个mydelegate类型的字段 就是一个引用字段 它可以存储一个委托private mydelegate myevent;还有两个方法public void add_myevent(mydelegate value)public void remove_myevent(mydelegate value)我想你知道委托可以通过+=来附加多个委托,del2 += del1,那么最后del2会包含原来del2中的委托并在尾部追加del1委托形成一个委托列表,其实在编译的时候这个表达式其实调用了delegate.combine方法我告诉你这个其实是想给你说,如果你类的外面注册一个事件的时候,如 obj1.myevent += mydel1,这时候编译的话其实是生成下面的代码obj1.add_myevent(mydel1);,我想这时候你会发现你其实不能直接操作myevent这个字段的,因为他是private的,所以为什么不能使用=进行赋值上面只是原因,下面说说为什么这么做比如现在有个情况,“老师”会有“下课”这个事件,那么班上很多同学都+=了这个事件,这时候(如果允许的话)你使用=注册了事件,那么这时候“老师”的“下课”事件中的委托仅仅只有你了,那么当老师引发下课事件的时候别的同学都收不到通知,这就叫破坏希望我的解答你能满意

谁能用最简单的方法解释CNet 中的委托

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。