關於「事件」的一些回顧

2022-02-10 07:04:44 字數 1701 閱讀 3006

有關於事件的概念呢,記得以前看過乙個例子,關於貓逮老鼠的,就是說,老鼠進到乙個房間裡後,貓就開始逮老鼠。說老鼠不能直接告訴貓你來逮我吧,於是就通過乙個監視器來通知貓,一旦貓看到老鼠就開始逮了,而這個監視器便是『事件』。

例子:**using

system; 

using

system.collections.generic; 

using

system.linq; 

using

system.text;

namespace

eventdemo 

; mouse m

=new

mouse();

//例項化乙隻老鼠 

m.name ="

藍皮鼠"

; m.runtohome();

//進入室內

catchmouse.docatch();

//**貓的捕捉事件

console.readline(); 

}          

} class

cat 

public

void

catch()  } 

class

mouse 

public

void

runtohome()  }

public

class

catchmouse  }

public

class

catcheventargs : eventargs

//事件引數類 

}    

} 上面這個例子呢,利用到事件引數catcheventargs,如果我們打算向事件中傳遞引數,即可利用到這個引數類。

加入上面的例子,貓只能逮住5斤一下的老鼠,那麼在觸發事件時就需要讓貓根據事件的引數來判斷該不該去逮。

**using

system; 

using

system.collections.generic; 

using

system.linq; 

using

system.text;

namespace

eventdemo 

;double

weight =5

; mouse m

=new

mouse(); 

m.name ="

藍皮鼠"

; m.weight 

=weight; 

m.runtohome();

catchmouse.docatch(weight);

console.readline(); 

}          

}class

cat 

public

void

catch()  }

class

mouse 

public

double

weight  

public

void

runtohome()  }

public

class

catchmouse 

); } 

}public

class

catcheventargs : eventargs 

}   

} demo:

陣列的一些回顧

1.陣列名的特殊性 先說結論 陣列名代表陣列首元素位址,也是乙個指標,唯讀的常量,是乙個常量指標,不能修改。陣列首元素的位址和陣列位址是兩個不同的概念 陣列名是陣列首元素的起始位址,但並不是陣列的起始位址 通過將取位址符 作用於陣列名可以得到整個陣列的起始位址 int c 200 c 1 步長四個位...

關於事件與委託的一些對比

using system private static void goodbye string str static void main string args 我的理解就是,delegate就是乙個函式的指標,用他宣告的變數實質上就是乙個函式,這就要求繫結的時候函式的返回值和引數列表必須符合del...

關於觸屏事件的一些操作

需要在你的viewcontroller裡重寫幾個方法 開始觸控的方法 void touchesbegan nsset touches withevent uievent event 觸控取消的方法 void touchescancelled nsset touches withevent uieve...