FXCOP -WARNUNG CA1801: „Parameter wird nie verwendet…“ auf überschriebener ererbter überragter Eigentum

StackOverflow https://stackoverflow.com/questions/3425497

Frage

Bei einer fortgesetzten Mission, die Codebasis I über Stylecop und FXCOP zu erben, und einer der Warnungen von FXCOP war CA1801: Parameter 'Wert' von etwas.myProperty.set (String) wird nie verwendet. Entfernen Sie den Parameter oder verwenden Sie ihn in der Methode.

Der Code, über den er sich beschwert, lautet:

public class Something : ISomeInterface
    public new string MyProperty
    {
        get
        {
            throw new InvalidOperationException("MyProperty is not implemented.");
        }

        set
        {
            throw new InvalidOperationException("MyProperty is not implemented.");
        }
    }

Diese Eigenschaft ist in der Schnittstelle definiert, in diesem Fall wird jedoch in der abgeleiteten Klasse nicht erforderlich - abgesehen von der etwas fragwürdigen Verwendung von Invala Eine Notiz, in der erklärt wird, warum?

Ich sehe nicht, was ich in Bezug auf bewährte Verfahren sonst noch tun könnte, um die Warnung in FXCOP zu verhindern, abgesehen von der Umgestaltung dieser bestimmten Eigenschaft in eine zweite Schnittstelle und dann alle anderen Klassen, die diese Schnittstelle verwenden, zu aktualisieren? Ich glaube, ich habe vielleicht gerade meine eigene Frage beantwortet? :D

War es hilfreich?

Lösung

Ich glaube, es liegt an dem "neuen" Keyword, dass Sie diese Warnung erhalten. Versuchen ersetzen neu entfernen mit Überschreibung und sehen, ob die Warnung verschwindet.

public class Something : ISomeInterface
    public string MyProperty

Übrigens, ich empfehle, auch anstelle von InvalyOperationException zu verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top