返回抽象方法的类型

dot*_*oob 1 c# abstract-class abstract-methods

并没有真正处理抽象方法,而是在抽象类中查看抽象方法.

    protected abstract bool Validate()
    {
    }
Run Code Online (Sandbox Code Playgroud)

当我创建上面的类时,我得到一个错误,告诉我需要按照常规方法指定返回类型.这是正确的还是我做错了什么?

Adi*_*dil 5

如果你宣布抽象方法,那么你就不应该给出身体

protected abstract bool Validate();
Run Code Online (Sandbox Code Playgroud)

如果它不是抽象方法声明但是你给出了一个抽象方法的实现,那么你应该从方法方法返回boolusing return语句以满足声明中的返回类型.

protected abstract bool Validate()
{
     //The method code 
     return false;
}
Run Code Online (Sandbox Code Playgroud)

抽象方法声明引入了一个新的虚方法,但没有提供该方法的实现.相反,非抽象派生类需要通过覆盖该方法来提供自己的实现.因为抽象方法没有提供实际的实现,所以抽象方法的方法体只包含一个分号MSDN.