class c:a{void a.b(){}}to implement interface methods explicitly, you can not use modifiers like public, seehttp://msdn.microsoft.com/library/en-us/csspec/html/vclrfcsharpspec_13_4_1.asp?frame=true
It is a compile-time error for an explicit interface member implementation to include access modifiers, and it is a compile-time error to include the modifiers abstract, virtual, override, or static.
It is a compile-time error for an explicit interface member implementation to include access modifiers, and it is a compile-time error to include the modifiers abstract, virtual, override, or static.
解决方案 »
- 添加依赖关系来延缓服务的启动
- 如何制作查询数据时弹出等待窗口,结束后自动消失
- 如果求bindingsource 绑定的对象,答对马上给分
- string 如何放到 byte[] 中
- asp。net中怎样实现在线人数的统计
- 求助各位帅哥美女一个正则表达式问题
- 调用dll求救(在线等!!!)
- (高分求解:在线等待)DataGrid的SelectedIndexChanged无法执行
- private System.ComponentModel.Container components = null;
- 如何知道今天是今年当中的第几个星期?
- 怎么读取USB口数据
- 一个绑定DataSet的DataGrid,我想按DataGrid某一列的值查找某一行(例如"Name"),
但是在继承接口类中,必须实现接口中的方法.
以下应该可以.
class c:a{void a.b(){ ...............}}
{
public void b(){}}
即可
interface a { void b();}接口实现1:
class c:a
{
void a.b()
{}
}接口实现2:
class c:a
{
public void b()
{}
}实现规则:
1. 你用 a.b() 来实现,则不能前缀 public;
2. 你要前缀 public,就只能用 b(),而不能用a.b();
为什么要这样约定,请看下面定义的类:interface a { void b();}class c:a
{
void a.b()
{
MessageBox.Show("实现接口的b()方法");
} public b()
{
MessageBox.Show("类自己的b()方法");
}
}class m
{
a p1=new c();
c p2=new c(); p1.b(); // display 实现接口的b()方法
p2.b(); // display 类自己的b()方法}不知是否为楼主阐述明白?
e.g.
namespace n1{
public interface a{
void m1(); }
public class b: n1.a
{
void n1.m1(){..}
} public class c:n1.b
{
protected override void m1(){..} // 不能实现
}}
你可以显示的实现
class c:a
{
void a.b()
{//....}
}
显示实现调用的时候要注意:
c cc = new c();
a ia = cc;
ia.b();//调用也可以隐式的实现
class c:a
{
public void b()
{//...}
}
namespace n1{
public interface a{
void m1(); }
public class b: n1.a
{
void /*>>>*/virtual n1.m1(){..}
} public class c:n1.b
{
protected override void m1(){..} // 不能实现
}}
你用base.m1()可以吗?
了接口,
和函数从写从借口集成的类必须实现 接口中的函数,但要从写的话
要在基础类 virtual 的函数才可以 override