显式接口成员实现
2012-02-28 14:44
253 查看
类或结构可以通过使用显示接口实现来避免将成员声明为 public. 显示接口成员实现使用完全限定的接口成员名。例如 EidtBox类可以使用显示接口成员实现来实现IControl的Paint方法和IDataBind的Bind方法。
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
public class Binder
[code]{
//
}
public interface IControl
{
void Paint();
}
public interface IDataBind
{
void Bind(Binder b);
}
public class EditBox : IControl,IDataBind
{
#region IControl Members
public void IControl.Paint()
{
throw new NotImplementedException();
}
#endregion
#region IDataBind Members
public void IDataBind.Bind(Binder b)
{
throw new NotImplementedException();
}
#endregion
}
调用方法:
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
static void Main(string[] args)
[code]{
IControl editBox = new EditBox();
editBox.Paint();//正确
EditBox edit = new EditBox();
edit.Paint();//错误,找不到方法
}
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
相关文章推荐
- 一小段代码演示C#接口的类级别实现和显式接口成员实现
- "显式接口成员实现"你知道吗??
- 显式实现的接口成员--从简单开始(三)
- C#中的显式接口成员实现(explicit interface member implementation)
- 显示接口成员实现(explicit interface member implementation)总结
- 显式和隐式实现接口区别
- 温故知新:接口的隐式实现与显式实现
- C#隐式实现接口成员与显示实现接口成员
- asp.net vs2008 不实现接口成员System.Web.IHttpHandler.IsReusable
- 无法实现接口成员,因为它不是公共的——interface
- net2003转到net2005碰到的一个问题:不会实现接口成员“System.Web.IHttpHandler.IsReusable”
- 5显式接口实现.avi
- 显式和隐式实现接口
- 隐式实现接口和显式实现接口的区别
- 接口的显式实现与隐式实现
- C# 接口的显式实现和隐式实现
- .NET之一——接口的显式与隐式实现
- 实现接口与显式实现接口的区别
- 子类继承父类的同时又去实现一个成员变量、方法与父类相同的接口,最后调的是谁的成员变量和方法?
- 修改VS2008代码重构模板简化接口属性成员实现