Nac*_*ica 1 c# abstract visual-studio-2010 visual-studio
为什么编译?
public abstract class Thing
{
public abstract void ActualWork()
{
Console.WriteLine("this should be impossible to execute");
}
}
Run Code Online (Sandbox Code Playgroud)
abstract方法是否应该禁止实施,因为它们必须在以后实施?
根据CodeCamper的评论,Visual Studio没有将其标记为错误.对我来说很奇怪,因为它本身没有锁定,它仍然注意到其他错误不是那个.
有时,Visual Studio IDE在刷新之前无法注册错误,例如尝试运行程序.一个完美的例子取下面的代码,然后在"public"之后手动添加单词Abstract,它不会立即注册为错误.这只是Visual Studio中的一个小故障.
public class Thing
{
public void ActualWork()
{
Console.WriteLine("this should be impossible to execute");
}
}
Run Code Online (Sandbox Code Playgroud)
即使它在运行程序时没有显示错误,您也会收到以下错误:
错误1 ...无法声明正文,因为它标记为抽象
为什么编译?它没有.Visual Studio以及许多其他IDE在运行时都会出现问题,具体取决于您输入错误的方式.
MSDN(http://msdn.microsoft.com/en-us/library/sf985hc5 ( v=vs.71 ) .aspx)
因为抽象方法声明没有提供实际的实现,所以没有方法体; 方法声明只以分号结束,签名后面没有大括号({}).
| 归档时间: |
|
| 查看次数: |
200 次 |
| 最近记录: |