成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C#顯式實(shí)現(xiàn)接口原理淺析

開發(fā) 后端
C#顯式實(shí)現(xiàn)接口原理是什么呢?通過什么辦法顯式實(shí)現(xiàn)接口呢?那么本文就向你介紹具體的步驟和實(shí)現(xiàn)代碼。

C#顯式實(shí)現(xiàn)接口方法是什么情況呢?當(dāng)一個類實(shí)現(xiàn)了兩個接口(假設(shè)Document 類實(shí)現(xiàn)了IStorable和ITalk接口),但是兩個接口中有方法名相同時,可以使用下面的語法來顯式地實(shí)現(xiàn)一個接口:

  1. void ITalk.Read()  

C#顯式實(shí)現(xiàn)接口的方法時,不可以加訪問修飾符(access modifier),將隱式地聲明為public。

不能通過類的實(shí)例來直接訪問顯式實(shí)現(xiàn)的方法。假設(shè)該類還實(shí)現(xiàn)了IStorable接口中的Read()的方法,當(dāng)使用下面的語句時:

  1. theDoc.Read( );  

將會隱式調(diào)用IStorable的Read() 方法。

如果該類僅實(shí)現(xiàn)了ITalk接口,而沒有實(shí)現(xiàn)IStorable接口,也就不存在方法名沖突的情況,但是卻仍使用顯示的接口聲明,那么當(dāng)使用 theDoc.Read() 時,將會出現(xiàn)編譯錯誤。

  1. 'ExplicitImplementation.Document  
  2.  
  3. ' does not contain a definition for   
  4.  
  5. 'Read' F:\MyApp\Test\ExplictImplament.cs  57  11  Test  

當(dāng)想使用 ITalk接口的方法時,需要進(jìn)行一次類型轉(zhuǎn)換,使用下面的語法:

  1. ITalk itDoc = theDoc;   
  2. itDoc.Read();  

C#顯式實(shí)現(xiàn)接口之成員隱藏

假設(shè)有如下兩個接口:

  1. interface IBase   
  2.  
  3. {   
  4.    int P { getset; }   
  5. }   
  6.  
  7. interface IDerived : IBase   
  8.  
  9. {  
  10.  
  11.    new int P();   
  12.  
  13. }   

繼承 IDerived的類至少需要進(jìn)行一個顯示實(shí)現(xiàn)。

  1. class myClass : IDerived   
  2.  
  3. it55.com  
  4.  
  5. {   
  6.  
  7.    int IBase.P { get {...} }   
  8.  
  9.    public int P( ) {...}  
  10.  
  11. }   
  12.  
  13. class myClass : IDerived   
  14.  
  15.  
  16. {   
  17.  
  18.    public int P { get {...} }   
  19.  
  20.    int IDerived.P( ) {...}   
  21.  
  22. }  
  23.  
  24. class myClass : IDerived   
  25.  
  26. {  
  27.  
  28.    int IBase.P { get {...} }   
  29.  
  30.    int IDerived.P( ) {...}   
  31.  
  32. }  

C#顯式實(shí)現(xiàn)接口之實(shí)現(xiàn)接口的值類型(Struct)

如果使用值類型實(shí)現(xiàn)接口,則應(yīng)通過值類型的對象訪問接口方法,而不要轉(zhuǎn)換成接口,再用接口進(jìn)行訪問,此時會多出一個“復(fù)制”了的引用對象,而原來的值對象依然存在,兩個對象是各自獨(dú)立的。

  1. myStruct theStruct = new myStruct( );   
  2.  
  3. theStruct.Status = 2;   
  4.  
  5. IStorable isTemp = ( IStorable ) theStruct;   
  6.  
  7. it55.com  
  8.  
  9. Console.WriteLine( "isTemp: {0}", isTemp.Status );   
  10.  
  11. isTemp.Status = 4;   
  12.  
  13. Console.WriteLine("theStruct:{0},   
  14.  
  15. isTemp: {1}",theStruct.Status, isTemp.Status );   
  16.  
  17. theStruct.Status = 6;   
  18.  
  19. Console.WriteLine( "theStruct: {0},   
  20.  
  21. isTemp: {1}",theStruct.Status, isTemp.Status );   

C#顯式實(shí)現(xiàn)接口之程序輸出:

  1. isTemp: 2   
  2. theStruct: 2, isTemp: 4   
  3. theStruct: 6, isTemp: 4  

C#顯式實(shí)現(xiàn)接口的相關(guān)內(nèi)容就向你介紹到這里,希望對你了解和學(xué)習(xí)C#顯式實(shí)現(xiàn)接口有所幫助。

【編輯推薦】

  1. 詳解C#break ,continue, return
  2. 淺析C#接口特點(diǎn)及實(shí)例應(yīng)用
  3. C# interface實(shí)例淺析
  4. C# interface編程應(yīng)用淺析
  5. C#interface定義及使用淺析
責(zé)任編輯:仲衡 來源: it55.com
相關(guān)推薦

2009-08-24 10:06:31

C#接口成員

2009-09-01 18:29:24

C#實(shí)現(xiàn)多個接口

2009-08-31 16:48:02

C#實(shí)現(xiàn)IDispos

2009-08-27 18:09:49

C#接口的實(shí)現(xiàn)

2009-09-07 05:24:22

C#窗體繼承

2009-08-27 17:59:56

C#接口定義

2009-08-07 08:53:52

C# ICloneab

2009-08-31 17:02:28

C#接口編程

2009-08-24 15:12:13

C# 泛型接口

2009-09-28 14:45:22

C#接口的定義

2009-09-03 17:40:25

C#發(fā)送短信

2009-09-02 15:34:37

C#實(shí)現(xiàn)插件構(gòu)架

2009-09-04 10:05:16

C#調(diào)用瀏覽器瀏覽器的原理

2009-09-18 19:21:17

C#接口

2011-06-03 10:15:13

2010-01-14 17:13:53

C++接口

2009-08-27 13:05:06

C#接口特點(diǎn)C#接口實(shí)例

2009-08-31 16:37:20

C#接口定義

2009-09-02 17:24:44

C#關(guān)機(jī)代碼

2009-08-13 18:15:06

C#繼承構(gòu)造函數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲视频在线免费观看 | 无人区国产成人久久三区 | 精品国产乱码久久久久久图片 | 亚洲国产精品一区二区久久 | 日韩精品成人在线 | 一区二区三区亚洲 | 颜色网站在线观看 | 亚洲免费在线观看视频 | 中文字幕亚洲视频 | 欧美中文在线 | 一区二区三区四区在线播放 | 亚洲精品9999久久久久 | 日韩在线观看一区 | 狠狠操天天干 | 日韩国产欧美一区 | 久久亚洲一区二区三区四区 | 久久国产精品视频 | 国产精品视频一二三区 | 99精品欧美一区二区三区综合在线 | 91精品麻豆日日躁夜夜躁 | 欧美日韩亚洲视频 | 奇米四色影视 | 免费在线观看一级毛片 | 日日骚av | 一级黄色片在线免费观看 | 欧美亚洲视频在线观看 | 久久综合爱| 国产精品三级久久久久久电影 | 日韩一区二区三区四区五区六区 | 午夜天堂精品久久久久 | 久久久久久网站 | 亚洲精品1区 | 日韩不卡一二区 | 亚洲中字在线 | 99久久99| 日本在线免费 | 欧美日韩综合视频 | 日韩二区| 日本高清aⅴ毛片免费 | 日韩福利 | 日韩精品成人av |