当前位置:编程学习 > C#/ASP.NET >>

C#学习笔记--2

委托:
函数指针的功能(C++),而且不像C++中只指向静态的方法。、
所谓委托就是在执行的时候不会调用预先设定好的函数方法,而是直接在我们定义号的委托方法里面调用委托函数就可以了,那后面的工作就会变的简单许多,甚至增加了函数的可读性和可维护性。
例子:delegate void eatdelegate(string food )//委托函数、
 委托链的概念:
  eatdelegate eatchain;
eatchain=zs+ls+ww;
eatchain("西瓜");
 
在这里面+和-的作用太明显了。
比如:
   eatchain -/+=ls;//顺着上面的来的。

匿名方法:是在C#2.0里面的新加入的功能。

委托是如何代理动态方法的:
把委托作为方法的参数进行传递。。


事件event:
事件发行者:【发送者。】
事件订阅者:【也称为接受者。】

出版社和订阅者之间的关系的事件程序:?

class publisher//出版社
 {
   public delegate void publish();//声明事件所需要的代理(或者叫做委托。)
   public event public onpublish;//事件的方法
   public void issue()//触发事件的方法
  {
     if ( onpublish!=null)
      {
             console.writeline("发行刊物");
             onpublish();
          }
  }
}
class subscriber//订阅者
{
  public void recerve()//在事件订阅者中定义事件处理程序。
   {
       console.writeline("订阅者已经收到了刊物")
     }
}
class story
{
   static void main()
  {
       publisher pub=new publisher();
       subscriber zs=new subscriber();
       pub.onpublish+=new publisher.publish(zs.recerve);//向事件发行者订阅一个事件。
       pub.issue();//触发事件
     }
}

调用事件的时候使用的是对象名称;
调用委托的时候使用的是类名称;【因为委托是静态的。】
事件发行者只会把事件发送给事件的订阅者。

声明一个事件首先要生命一个委托 。声明委托的时候要使用void类型作为返回值。

.net framework事件的命名准则:

readonly:给这个成员赋值之后就不能改变它;

只读的所以值实现get方法。

在引发事件的类中提供一个受保护的方法。以on加事件名称命名,在该方法体中引发该事件;
本文出自 “黎黎原上草” 博客

补充:软件开发 , C# ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,