c#抽象方法:内部公共和虚拟?

内部公开的抽象方法和c#中的虚拟方法吗?

认情况下,所有方法都是私有的,如果抽象方法是私有的,它将不可用于派生类,产生错误“虚拟或抽象成员不能是私有的”

解决方法

我认为你提出的问题与大多数人的想法不同(换句话说,你似乎理解抽象意味着什么).

您不能声明私有抽象方法 – 编译器发出错误.这两个类都不会编译:

class Foo
{
    private abstract void Bar();
}

class Baz
{
    // This one is implicitly private - just like any other 
    // method declared without an access modifier
    abstract void Bah();
}

编译器阻止您声明无用的方法,因为私有抽象成员不能在派生类中使用,并且对声明类没有实现(因此没有用).

重要的是要注意编译器应用于抽象成员的认访问修饰符(如果您自己未指定)仍然是私有的,就像该方法不是抽象的那样.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...