程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#學習筆記--2

C#學習筆記--2

編輯:C#入門知識

委托:
函數指針的功能(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加事件名稱命名,在該方法體中引發該事件;
本文出自 “黎黎原上草” 博客

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved