7
  • Tôi đang sử dụng Hợp đồng Mã ver: 1.4.40602.0
  • tôi sao chép nội dung cần thiết và Transforms file
  • Sandcastle kết quả đầu ra các trường hợp ngoại lệ dựa trên các yêu cầu hợp đồng của tôi

Ví dụ Code:Hợp đồng mã + Sandcastle - Bất kỳ cách nào để tùy chỉnh phần ngoại lệ?

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

Kết quả đầu ra (trong tài liệu của tôi):

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

Đây không phải là rằng xấu, tuy nhiên tôi tự hỏi liệu có cách nào để tùy chỉnh văn bản của Điều kiện không? Tôi đã cố gắng thêm thông báo người dùng Contract.Requires<ArgumentNullException>(obj != null, "obj is null.");, tuy nhiên điều này không giải quyết được gì.

Trước đây tôi phải viết phần tài liệu xml của riêng mình cho các trường hợp ngoại lệ. Tôi sẽ phải làm điều đó một lần nữa để có được những gì tôi cần?


Disclaimer: Kể từ khi Bộ luật Hợp đồng là (hiện tại) một dự án DevLabs, điều này có thể thay đổi, nhưng tôi đang tự hỏi nếu nó đã có sẵn ngay bây giờ ... nếu không, tôi sẽ chắc chắn cho thấy nó.

Trả lời

3

Với Mã Hợp đồng 1.4.51019.0 bạn có thể sử dụng sự quá tải:

Requires<TException>(bool condition, string userMessage)

Tuy nhiên, thông điệp của bạn sẽ được nối sau khi "kiện tiên quyết Thất bại" tiếp theo là tình trạng chưa từng có. Nếu Sandcastle không nhận ra nó, tôi tin rằng đó không phải là lỗi trong Code Contracts, vì thông điệp xuất hiện đúng với tôi.

Các vấn đề liên quan