Was macht ReliabilityContractAttribute?

8

Tut es überhaupt etwas oder dient nur der Dokumentation. Wenn es nur für die Dokumentation ist, warum Dokumentation dokumentiert es nicht?

Zum Beispiel diese beiden statischen Methoden von System.Array :

%Vor%

Ihre generierte MSDN-Dokumentation erwähnt nicht einmal das Copy oder ConstrainedCopy sind mit Anmerkungen versehen.

    
Prankster 14.04.2009, 16:11
quelle

2 Antworten

8

Ich glaube, dass sie auch für eingeschränkte Ausführungsregionen verwendet werden, sodass die CLR weiß, was sie sicher tun kann. Es gibt bestimmte Dinge, die Ihr Code in der CER nicht tun kann, und im Gegenzug garantiert die CLR, dass bestimmte Out-of-Band-Exceptions nicht ausgelöst werden.

MSDN enthält weitere Details.

    
Jon Skeet 14.04.2009, 16:54
quelle
2

Von MSDN :

  

Das ReliabilityContractAttribute   Attribut bietet einen Mechanismus für Sie   um Ihren Code zu dokumentieren und anzugeben   Welche Art von Zuverlässigkeit garantiert   Sie können angesichts machen   außergewöhnliche Bedingungen, die könnten   führt möglicherweise zu einer Inkonsistenz   Zustand. In diesem Zusammenhang außergewöhnlich   Bedingungen sind als asynchron definiert   Ausnahmen, die bei erzeugt werden können   Laufzeit durch die gemeinsame Sprache   Laufzeit, wie abgebrochene Threads,   Out-of-Memory-Situationen und Stapel   Überläufe. Sie können das anwenden   ReliabilityContractAttribute-Attribut   zu Assemblys, Typen und Methoden.

     

Verwenden Sie dieses Attribut mit der   Konsistenzaufzählung zum Definieren von a   Zuverlässigkeitsvertrag durch Dokumentation   das Niveau der Zuverlässigkeit in a   bestimmtes Stück Code.

    
Andrew Hare 14.04.2009 16:13
quelle

Tags und Links