C#什么是显式调用?什么是隐式调用?

C#什么是显式调用?什么是隐式调用?最好举个例子写好注释...谢谢... C#什么是显式调用?什么是隐式调用?
最好举个例子 写好注释...谢谢
展开
 我来答
helper_online
2010-03-30
知道答主
回答量:29
采纳率:0%
帮助的人:33万
展开全部
C#接口的隐式和显示调用,区别和实例

namespace MyInface
{
//显示接口就是只能用接口调用。
//隐式接口和类都能调用。

public interface IBookList
{
void Add(string BookName);
void Append(string BookName);
void Remove(int position);
int Count { get;}
string this[int index] { get;set;}
}
//隐式调用
public class BookList : IBookList
{
private List<string> booklist = new List<string>();
#region IBookList 成员
public void Add(string BookName)
{
booklist.Add(BookName);
}
public void Append(string BookName)
{
booklist.Insert(booklist.Count, BookName);
}
public void Remove(int position)
{
booklist.RemoveAt(position);
}
public int Count
{
get
{
return booklist.Count;
}
}
public string this[int index]
{
get
{
return booklist[index];
}
set
{
booklist[index] = value;
}
}
#endregion
}
//显示调用 该类只能用接口调用。
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();
}
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式