簡體   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