繁体   English   中英

c#中有什么类似于java的@override注释吗?

[英]Is there something in c# similar to java's @override annotation?

我在java中使用了@Override ,并且非常方便。 c#中有类似的东西吗?

C#编译器为方法覆盖提供编译时检查,包括检查方法是否实际覆盖了您的意图。 您可以指示应使用.NET override关键字覆盖方法。

在C#中,必须使用override关键字来覆盖函数。

如果在没有匹配的virtualabstract基函数的情况下使用override ,则会出现编译器错误。

如果你不使用override ,并且有一个匹配的基函数,你将得到一个编译器警告(除非你添加new )。

在CSharp中, override关键字含义与Java世界完全不同。 Csharp World中的等价物是明确的实现,但它有一个缺点

interface IShape
{
     void Display();
}

class Square : IShape
{
     void IShape.Display()
     {

     }
}

不,是的。 因为在C#中,语言中有一个覆盖kkeyword,如果你“隐藏”一个方法,编译器就会发出警告。 所以,要么直接说“新”或“覆盖”作为方法的一部分。

Java基本上使用注释来隐藏语言规范中的错误。

请阅读C#的语言规范。 完全。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM