freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

guidancec代碼設(shè)計(jì)編寫指南-電子商務(wù)-資料下載頁

2025-07-13 20:29本頁面

【導(dǎo)讀】,或形容詞來表述接口的行為。

  

【正文】 id MouseEventHandler(object sender, MouseEvent e)。 2. 用兩個(gè)參數(shù),分別命名為 sender 和 e Sender參數(shù)表示事件時(shí)被誰扔出來的, Sender參數(shù)的類型總是 Object。 e稱之為事件參數(shù)。事件的狀態(tài)被保存在 e里。 e是保存事件狀態(tài)的類的實(shí)例 public delegate void MouseEventHandler(object sender, MouseEvent e)。 3. 事件參數(shù)類的命名使用 EventArgs 作為后綴 public class MouseEventArgs : EventArgs { int x。 C代碼設(shè)計(jì)編寫指南 版本 大連口岸物流科技有限公司版權(quán) 所有 8 int y。 public MouseEventArgs(int x, int y) { = x。 = y。 } public int X { get { return x。 } } public int Y { get { return y。 } } } 4. 事件的命名根據(jù)事件發(fā)生的時(shí)間狀態(tài),分別使用動詞的進(jìn)行時(shí)和過去時(shí)(不要 使用 BeforeXxx\AfterXxx格式) 例如:一個(gè)真實(shí)的 close 動作,可能產(chǎn)生兩個(gè)事件,一個(gè)是 Closing,你可以在這個(gè)事件里取消 close動作。還有一個(gè)是 Closed事件,你可以做一些清理工作。 public event ControlEventHandler ControlAdded { //.. } 5. 考慮使用動詞來命名事件 . 大小寫敏感 . 避免類型名稱混亂 不同的語言用不同的術(shù)語來描述基本類型,所以我們要避免使用語言相關(guān)的術(shù)語 用有含義的命名而不是用類型來命名 有的時(shí)候變量確實(shí)沒有特定 的含義,這個(gè)時(shí)候我們就用一個(gè)通用的名字。例如,有一套函數(shù)把不同的數(shù)據(jù)類型寫到流里 void Write(double value)。 void Write(float value)。 void Write(long value)。 void Write(int value)。 void Write(short value)。 上面的例子推薦改寫到語言相關(guān)的格式: void Write(double doubleValue)。 void Write(float floatValue)。 void Write(long longValue)。 void Write(int intValue)。 void Write(short shortValue)。 C代碼設(shè)計(jì)編寫指南 版本 大連口岸物流科技有限公司版權(quán) 所有 9 在極端特殊的情況下,你可能要寫一組方法針對每一種基本類型,那么請使用下表的統(tǒng)一類型名稱 C Visual Basic JScript Visual C++ IL Universal sbyte SByte SByte char I1 SByte byte Byte byte unsigned char U1 Byte short Short short short I2 Int16 ushort UInt16 UInt16 unsigned short U2 UInt16 int Integer int int I4 Int32 uint NA NA unsigned int U4 UInt32 long Long long __int64 I8 Int64 ulong UInt64 UInt64 Unsigned __int64 U8 UInt64 float Single float float R4 Single double Double double double R8 Double bool Boolean boolean bool I4 Boolean char Char char wchar_t U2 Char string String String String tring String object Object Object Object bject Object 如果有一組方法從流里讀不同的數(shù)據(jù)類型出來,可能的格式為: double ReadDouble()。 float ReadSingle()。 long ReadIn64()。 int ReadInt32()。 short ReadInt16()。 上面的例子推薦為下面語言相關(guān)的格式: double ReadDouble()。 float ReadFloat()。 long ReadLong()。 int ReadInt()。 short ReadShort()。 C代碼設(shè)計(jì)編寫指南 版本 大連口岸物流科技有限公司版權(quán) 所有 10 3. 類成員 屬性使用原則 . 用 Pascal命名規(guī)則 . 不要用匈牙利命名法 . 建議不要用類型名來命名屬性 對于有些語言會造成混淆,但是有清晰的理由的情況下除外。 舉例: 有一個(gè) Icon 屬性,盡管有一個(gè) Icon 類存在,但是直接使用Icon屬性名稱比使用 。 Color屬性,同時(shí)有一個(gè) Color類,把 Color屬性命名為 BackgroundColor的含義更明確,而且可以避免混淆。 屬性的命名把理解含義放在 第一位的,在此基礎(chǔ)上再考慮混淆的問題。 . 如果屬性的賦值操作產(chǎn)生了一個(gè)異常,那么保證屬性保留原來的值 . 允許不同的屬性以任何順序被設(shè)置,屬性之間應(yīng)該是無狀態(tài)的 經(jīng)常有這樣的情況,對象的有些特征不會馬上隨著屬性的設(shè)置體現(xiàn)出來,往往會等到其他屬性設(shè)定好,或者對象達(dá)到某一特定的狀態(tài)。當(dāng)特定的狀態(tài)達(dá)到了,屬性設(shè)定的特征也就自動體現(xiàn)出來。 例如: TextBox有兩個(gè)屬性 DataSource和 DataField。 DataSource指定表名, DataField指定列名。一旦兩個(gè)屬性都指定了,控件會自動綁定表的信息到控件的 Text 屬性。開發(fā)者可以以任何順序設(shè)定這兩個(gè)屬性。 TextBox t = new TextBox()。 = Publishers。 = AuthorID。 // data binding feature now active 下面的例子是等價(jià)的: TextBox t = new TextBox()。 C代碼設(shè)計(jì)編寫指南 版本 大連口岸物流科技有限公司版權(quán) 所有 11 = AuthorID。 = Publishers。 // data binding feature now active 開發(fā)者也可以把屬性設(shè)為 NULL,意為 :不指定: TextBox t = new TextBox()。 = AuthorID。 = Publishers。 // data binding feature now active = null。 // data binding feature now inactive 下面這段程序?qū)崿F(xiàn)了 DataSource和 DataField屬性的無狀態(tài)設(shè)計(jì) : public class TextBox { string dataSource。 string dataField。 boolean active。 public string DataSource { get { return dataSource。 } set { if (value != dataSource) { // set the property value first, in case activate fails dataSource = value。 // update active state SetActive(dataSource != null amp。amp。 dataField != null)。 } } } public string DataField { get { return dataField。 } set { if (value != dataField) { // set the property value first, in case activate fails dataField = value。 // update active state SetActive(dataSource != null amp。amp。 dataField != null)。 } C代碼設(shè)計(jì)編寫指南 版本 大連口岸物流科技有限公司版權(quán) 所有 12 } } void SetActive(boolean value) { if (value != active) { if (value) { Activate()。 Text = (dataField)。 } else { Deactivate()。 Text = 。 } active = value。 // set active only if success } } void Activate() { // open database } void Deactivate() { // close database } } . 建議在屬性修改時(shí)扔出 PropertyChanged事件 當(dāng)一個(gè)控件的屬性通過程序改變了之后,其他人想要知道這種變化,可以通過這種方法得到通知。例如:當(dāng)一個(gè)控件的位置改變了,那么 tooltip provider 控件需要知道這個(gè)信息來改變 Tooltip 窗口的位置。 PropertyChanged 在屬性值改變之后被扔出。有一個(gè)保護(hù)的Helper函數(shù)來做這件事 (RaisePropertyChanged)。 class Control : Component { Rect position。 public Rect Position { get { return position。 } set { if (!(value)) { position = value。 RaisePropertyChangedEvent(“position”)。 C代碼設(shè)計(jì)編寫指南 版本 大連口岸物流科技有限公司版權(quán) 所有
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1