命名空間MyInface
{
//顯示接口只能用接口調用。
//隱式接口和類都可以調用。
公共接口IBookList
{
void Add(字符串BookName);
void Append(字符串BookName);
void Remove(int位置);
int Count { get}
string this[int index]{ get;設置;}
}
//隱式調用
公開課書目:IBookList
{
個人分發名單& lt字符串& gtbooklist = new List & lt字符串& gt();
#區域圖書列表成員
公共void Add(字符串BookName)
{
書單。添加(圖書名稱);
}
公共void Append(字符串BookName)
{
書單。插入(書目。Count,BookName);
}
公共void刪除(中間位置)
{
書單。RemoveAt(位置);
}
公共int計數
{
得到
{
返回書單。數數;
}
}
公共字符串this[int index]
{
得到
{
返回書目[索引];
}
設置
{
booklist[index]= value;
}
}
#結束區域
}
//說明調用這個類只能用接口調用。
公開課書目2 : IBookList
{
個人分發名單& lt字符串& gtbooklist = new List & lt字符串& gt();
#區域圖書列表成員
作廢IBookList。添加(字符串BookName)
{
書單。添加(圖書名稱);
}
作廢IBookList。Append(字符串BookName)
{
書單。插入(書目。Count,BookName);
}
作廢IBookList。移除(中間位置)
{
書單。拆下(位置。ToString());
}
int IBookList。數數
{
得到
{
返回書單。數數;
}
}
string IBookList.this[int index]
{
得到
{
返回書目[索引];
}
設置
{
booklist[index]= value;
}
}
#結束區域
}
類別文本
{
靜態空幹管()
{
//隱式調用。
BookList bk list = new BookList();
bk list . add(" implicit ");
控制臺。Write("實現隱式接口的示例:使用類:{0} ",bk list[0]);
ibook list ibk list =(ibook list)bk list;//更改類型後,鏈接的內容也被分配給它。
Ibklist。add(" $ $ $ $ $ $ $ $ $ implicit ");//這裏的索引是第二個。
控制臺。Write("實現隱式接口的示例:使用接口{0} ",ibk list[1]);
//只能用接口進行顯示調用。
book list 2 bk list 2 = new book list 2();
//If bklist2。直接使用Add(“顯示”);這樣會犯錯誤。比如:
//僅如下:
ibook list Ibk =(ibook list)bk list 2;
Ibk。添加(" $$$$ $ $顯示界面");//用接口添加
控制臺。Write("實現顯示接口的例子:使用接口{0} ",Ibk[0]);//用接口調用。
控制臺。ReadLine();
}
}
}