//显示调用   该类只能用接口调用。
public class BookList2 : IBookList
{
private List<string> booklist = new List<string>();
#region IBookList 成员
void IBookList.Add(string BookName)
{
booklist.Add(BookName);
}
void IBookList.Append(string BookName)
{
booklist.Insert(booklist.Count, BookName);
}
void IBookList.Remove(int position)
{
booklist.Remove(position.ToString());
}
int IBookList.Count
{
get
{
return booklist.Count;
}
}
string IBookList.this[int index]
{
get
{
return booklist[index];
}
set
{
booklist[index] = value;
}
}
#endregion
}
class text
{
static void Main()
{
//隐式调用。
BookList bklist = new BookList();
bklist.Add("¥¥¥隐式");
Console.Write("实现隐式接口的例子:使用类:{0}", bklist[0]);
IBookList ibklist = (IBookList)bklist;    //转变类型后,接连联内容也一同赋值给过来了。
ibklist.Add("$$$$$隐式");// 这里索引是第二个了。
Console.Write("实现隐式接口的例子:使用接口{0}", ibklist[1]);
//显示调用   只能用接口调用。
BookList2 bklist2 = new BookList2();
//如果直接bklist2.Add("显示");这样出错。如:
//只能如下:
IBookList Ibk = (IBookList)bklist2;
Ibk.Add("$$$$显示接口");        //用接口增加
Console.Write("实现显示接口的例子:使用接口{0} ", Ibk[0]);//用接口调用。
Console.ReadLine();
}
}
}