av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

學(xué)習(xí)C#接口編程——顯式實現(xiàn)C#接口成員

為了實現(xiàn)C#接口,類可以定義顯式接口成員執(zhí)行體(Explicit interface member

站在用戶的角度思考問題,與客戶深入溝通,找到羅莊網(wǎng)站設(shè)計與羅莊網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、申請域名、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋羅莊地區(qū)。

implementations)。顯式C#接口成員執(zhí)行體可以是一個方法、一個屬性、一個事件或者是一個索引指示器的定義,定義與該成員對應(yīng)的全權(quán)名應(yīng)保持一致。

上面的代碼中ICloneable.Clone 和IComparable.CompareTo 就是顯式接口成員執(zhí)行體。

說明:

· 不能在方法調(diào)用、屬性訪問以及索引指示器訪問中通過全權(quán)名訪問顯式接口成員執(zhí)行體。事實上,顯式接口成員執(zhí)行體只能通過接口的實例,僅僅引用接口的成員名稱來訪問。

· 顯式C#接口成員執(zhí)行體不能使用任何訪問限制符,也不能加上abstract, virtual, override或static 修飾符。

· 顯式C#接口成員執(zhí)行體和其他成員有著不同的訪問方式。因為不能在方法調(diào)用、屬性訪問以及索引指示器訪問中通過全權(quán)名訪問,顯式接口成員執(zhí)行體在某種意義上是私有的。但它們又可以通過接口的實例訪問,也具有一定的公有性質(zhì)。

· 只有類在定義時,把接口名寫在了基類列表中,而且類中定義的全權(quán)名、類型和返回類型都與顯式接口成員執(zhí)行體完全一致時,顯式接口成員執(zhí)行體才是有效的,例如:

使用顯式C#接口成員執(zhí)行體通常有兩個目的:

· 因為顯式接口成員執(zhí)行體不能通過類的實例進行訪問,這就可以從公有接口中把接口的實現(xiàn)部分單獨分離開。如果一個類只在內(nèi)部使用該接口,而類的使用者不會直接使用到該接口,這種顯式接口成員執(zhí)行體就可以起到作用。

· 顯式接口成員執(zhí)行體避免了接口成員之間因為同名而發(fā)生混淆。如果一個類希望對名稱和返回類型相同的接口成員采用不同的實現(xiàn)方式,這就必須要使用到顯式接口成員執(zhí)行體。如果沒有顯式接口成員執(zhí)行體,那么對于名稱和返回類型不同的接口成員,類也無法進行實現(xiàn)。

下面的定義是無效的,因為Shape 定義時基類列表中沒有出現(xiàn)接口IComparable。

在Ellipse中定義ICloneable.Clone是錯誤的,因為Ellipse即使隱式地實現(xiàn)了接口ICloneable,ICloneable仍然沒有顯式地出現(xiàn)在Ellipse定義的基類列表中。

接口成員的全權(quán)名必須對應(yīng)在接口中定義的成員。如下面的例子中,Paint的顯式接口成員執(zhí)行體必須寫成IControl.Paint。

實現(xiàn)接口的類可以顯式實現(xiàn)該接口的成員。當(dāng)顯式實現(xiàn)某成員時,不能通過類實例訪問該成員,而只能通過該接口的實例訪問該成員。顯式接口實現(xiàn)還允許程序員繼承共享相同成員名的兩個接口,并為每個接口成員提供一個單獨的實現(xiàn)。

下面例子中同時以公制單位和英制單位顯示框的尺寸。Box類繼承IEnglishDimensions和IMetricDimensions兩個接口,它們表示不同的度量衡系統(tǒng)。兩個接口有相同的成員名 Length 和 Width。

輸出:Length(in): 30,Width (in): 20,Length(cm): 76.2,Width (cm): 50.8

代碼討論:如果希望默認度量采用英制單位,請正常實現(xiàn) Length 和 Width 這兩個方法,并從 IMetricDimensions 接口顯式實現(xiàn) Length 和 Width 方法:

這種情況下,可以從類實例訪問英制單位,而從接口實例訪問公制單位:

至此,顯式實現(xiàn)C#接口成員的主要方法就介紹完了。

【編輯推薦】

  1. C#3.5新特性的介紹
  2. C#中DirectSound錄音的使用
  3. C#擴展方法性能測試對比
  4. C#多標簽瀏覽器功能的擴展
  5. C#標簽的制作:多標簽的實現(xiàn)

標題名稱:學(xué)習(xí)C#接口編程——顯式實現(xiàn)C#接口成員
文章轉(zhuǎn)載:http://uogjgqi.cn/article/dpccegc.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流