新聞中心
C#接口編程之接口成員定義之前我們來看看C#接口,它可以包含一個和多個成員,這些成員可以是方法、屬性、索引指示器和事件,但不能是常量、域、操作符、構(gòu)造函數(shù)或析構(gòu)函數(shù),而且不能包含任何靜態(tài)成員。接口定義創(chuàng)建新的定義空間,并且接口定義直接包含的接口成員定義將新成員引入該定義空間。

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),黟縣企業(yè)網(wǎng)站建設(shè),黟縣品牌網(wǎng)站建設(shè),網(wǎng)站定制,黟縣網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,黟縣網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
C#接口編程之接口成員定義說明:
·接口的成員是從基接口繼承的成員和由接口本身定義的成員。
·接口定義可以定義零個或多個成員。接口的成員必須是方法、屬性、事件或索引器。接口不能包含常數(shù)、字段、運算符、實例構(gòu)造函數(shù)、析構(gòu)函數(shù)或類型,也不能包含任何種類的靜態(tài)成員。
·定義一個接口,該接口對于每種可能種類的成員都包含一個:方法、屬性、事件和索引器。
·接口成員默認(rèn)訪問方式是public。接口成員定義不能包含任何修飾符,比如成員定義前不能加abstract,public,protected,internal,private,virtual,override 或static 修飾符。
·接口的成員之間不能相互同名。繼承而來的成員不用再定義,但接口可以定義與繼承而來的成員同名的成員,這時我們說接口成員覆蓋了繼承而來的成員,這不會導(dǎo)致錯誤,但編譯器會給出一個警告。關(guān)閉警告提示的方式是在成員定義前加上一個new關(guān)鍵字。但如果沒有覆蓋父接口中的成員,使用new關(guān)鍵字會導(dǎo)致編譯器發(fā)出警告。
·方法的名稱必須與同一接口中定義的所有屬性和事件的名稱不同。此外,方法的簽名必須與同一接口中定義的所有其他方法的簽名不同。
·屬性或事件的名稱必須與同一接口中定義的所有其他成員的名稱不同。
·一個索引器的簽名必須區(qū)別于在同一接口中定義的其他所有索引器的簽名。
·接口方法聲明中的屬性(attributes), 返回類型(return-type), 標(biāo)識符(identifier)和形式參數(shù)列表(formal-parameter-lis)與一個類的方法聲明中的那些有相同的意義。一個接口方法聲明不允許指定一個方法主體,而聲明通常用一個分號結(jié)束。
·接口屬性聲明的訪問符與類屬性聲明的訪問符相對應(yīng),除了訪問符主體通常必須用分號。因此,無論屬性是讀寫、只讀或只寫,訪問符都完全確定。
·接口索引聲明中的屬性(attributes),類型(type)和形式參數(shù)列表(formal-parameter-list)與類的索引聲明的那些有相同的意義。
下面例子中接口IMyTest包含了索引指示器、事件E、方法F、屬性P這些成員:
- interface IMyTest{
- string this[int index] { get; set; }
- event EventHandler E ;
- void F(int value) ;
- string P { get; set; }
- }
- public delegate void EventHandler(object sender, EventArgs e) ;
下面例子中接口IStringList包含每個可能類型成員的接口:一個方法,一個屬性,一個事件和一個索引。
- public delegate void StringListEvent(IStringList sender);
- public interface IStringList
- {
- void Add(string s);
- int Count { get; }
- event StringListEvent Changed;
- string this[int index] { get; set; }
- }
C#接口編程之接口成員的全權(quán)名
使用接口成員也可采用全權(quán)名(fully qualified name)。接口的全權(quán)名稱是這樣構(gòu)成的。接口名加小圓點"." 再跟成員名比如對于下面兩個接口:
- interface IControl {
- void Paint( ) ;
- }
- interface ITextBox: IControl {
- void GetText(string text) ;
- }
其中Paint 的全權(quán)名是IControl.Paint,GetText的全權(quán)名是ITextBox. GetText。當(dāng)然,全權(quán)名中的成員名稱必須是在接口中已經(jīng)定義過的,比如使用ITextBox.Paint.就是不合理的。
如果接口是名字空間的成員,全權(quán)名還必須包含名字空間的名稱。
- namespace System
- {
- public interface IDataTable {
- object Clone( ) ;
- }
- }
那么Clone方法的全權(quán)名是System. IDataTable.Clone。
C#接口編程之接口成員定義的基本內(nèi)容和相關(guān)介紹就講述到這里,希望對你了解和學(xué)習(xí)掌握C#接口編程之接口成員有所幫助。
【編輯推薦】
- C#水晶報表數(shù)據(jù)的獲取方法實例淺析
- .Net水晶報表使用學(xué)習(xí)的九大步驟
- C#接口定義及實例應(yīng)用淺析
- 詳解C#接口以及實現(xiàn)
- C#接口的定義詳解
網(wǎng)頁題目:C#接口編程之接口成員淺析
本文URL:http://www.5511xx.com/article/dpheoed.html


咨詢
建站咨詢
