Ich habe eine Klasse, die von einer Basisklasse erbt und implementiert die folgenden ...Wie Compiler zu unterdrücken, für bestimmte Funktion in VS2005 (VB.Net) Warnung
Public Function CompareTo(ByVal obj As Object) As Integer Implements System.IComparable.CompareTo
Nun ist die Basisklasse aus auch erbt implementiert dieses System.IComparable.CompareTo, damit ich die folgende Compiler-Warnung erhalte:
Warnung: 'System.IComparable.CompareTo' ist bereits von der Basisklasse implementiert. Re-Implementierung der Funktion angenommen.
Mir geht es gut, so meine Frage ist, wie kann ich diese Warnung für nur diese Funktion unterdrücken (d. H. Nicht alle solche Warnungen).
Klärungen:
- ist hier ein link auf den Fehler auf MSDN.
- Ich habe bereits beide Shadows und Overrides versucht und weder beseitigt die Warnung.
- Die Warnung bezieht sich nicht auf die Methode selbst (es sei denn, Schatten oder Überschreibungen werden weggelassen), sondern sie ist speziell auf "Implementiert System.IComparable.CompareTo".
- Ich möchte nicht alle Warnungen dieses Typs unterdrücken (wenn sie auftauchen), nur diesen.
Lösung:
Ich hatte gehofft, das System.Diagnostics.CodeAnalysis.SuppressMessage Attribut oder so etwas wie C# 's Pragma zu verwenden, aber sieht aus wie es keine Möglichkeit gibt, die Warnung für eine einzelne Zeile zu unterdrücken. Es gibt eine Möglichkeit, diese Nachricht für dieses Projekt zu deaktivieren, ohne die Warnungen auszuschalten.
Ich habe die .vbproj-Datei manuell bearbeitet und 42015 in den Knoten für Debug- und Release-Compilations eingefügt. Nicht ideal, aber besser als immer die Warnung in der IDE zu sehen.
Wenn jemand eine bessere Lösung hat, bitte fügen Sie es hinzu und ich werde es gerne versuchen, die Antwort zu kennzeichnen.
Dies ist die einzig richtige Antwort. Der Text der Warnung impliziert dies - das heißt, das "angenommen" bedeutet, dass die Überschreibungen allein sicherstellen, dass die richtige Methode aufgerufen wird, wenn die Instanz die geerbte Klasse ist - aber es ist nicht sehr klar. – McKenzieG1