7
  • Używam Code Contracts ver: 1.4.40602.0
  • skopiowane niezbędną zawartość i przekształca pliki
  • SandCastle wyprowadza wyjątków opartych na moich wymagań kontraktowych

przykładu kod:Code Contracts + Sandcastle - Jakikolwiek sposób dostosować sekcję wyjątków?

public class MyClass 
{ 
    public MyClass(Object obj) 
    { 
     Contract.Requires<ArgumentNullException>(obj != null); 
    } 
} 

Wynik wyjściowy (w mojej dokumentacji):

| Exception      | Condition      | 
|---------------------------------|---------------------------------| 
| System.ArgumentNullException | obj == null      | 

To nie jest że zły, ale zastanawiam się, czy istnieje sposób, aby dostosować tekst warunku? Podjęto próbę dodania wiadomości użytkownika Contract.Requires<ArgumentNullException>(obj != null, "obj is null.");, ale to nie rozwiązało niczego.

W przeszłości musiałem napisać własną dokumentację xml dla wyjątków. Czy będę musiał zrobić to ponownie, aby uzyskać to, czego potrzebuję?


Uwaga: Ponieważ kontrakty Code jest (obecnie) projekt DevLabs, to może się zmienić, ale zastanawiam się, czy to jest już dostępny w tej chwili ... jeśli nie, będę z pewnością go sugerować.

Odpowiedz

3

z umowami Code 1.4.51019.0 może użyć przeciążenie:

Requires<TException>(bool condition, string userMessage)

jednak wiadomość zostanie dołączona po „Warunek failed” a następnie stanie sobie równych. Jeśli Sandcastle go nie rozpoznaje, uważam, że nie jest to błąd w umowach kodowych, ponieważ komunikat ten wydaje mi się prawidłowy.

Powiązane problemy