Eine Klasse Ich schreibe implementiert IDictionary<string, object>
. In meiner CopyTo
Implementierung möchte ich Code-Verträge verwenden: Zeug wie Contract.Requires<ArgumentNullException>(array != null)
.Wie Code-Verträge zu verwenden, wenn von Schnittstellen wie IDictionary <T, U> abgeleitet werden?
Aber, bekomme ich diese Warnung (mit einigen Namensräume für Lesbarkeit entfernt):
Methode ‚LuaDictionary.CopyTo(KeyValuePair<String,Object>[],Int32)
‘ implementiert Interface-Methode ‚ICollection<KeyValuePair<String,Object>>.CopyTo(KeyValuePair<String,Object>[],Int32)
‘ kann somit nicht Requires
hinzufügen.
Ich sehe, dass es einige verwandte Fragen gibt, aber sie scheinen alle mit Schnittstellen zu tun zu haben, die vom Benutzer kontrolliert werden. Offensichtlich ist IDictionary<T, U>
nicht unter meiner Kontrolle, also kann ich es nicht mit oder etwas ähnlichem kommentieren.
Also kann ich Code Contracts hier nicht verwenden? Wenn ja ... Haupt Bummer ...
Bemerkenswert, dass diese Informationen jetzt sichtbar ist, den „Code Contracts Editor Extensions“ Plug-In für VS mit: http://visualstudiogallery.msdn.microsoft.com/85f0aa38-a8a8-4811-8b86 -e7f0b8d8c71b / – porges