2012-10-25 31 views
5

Tôi nghĩ rằng câu hỏi này là tầm thường và rằng Enums được đại diện đơn giản với một số nguyên nhưng tôi đã ngạc nhiên rằng nó không phải là trường hợp! Dưới đây là những gì tôi có:Enums được thể hiện như thế nào trong tệp web.config?

Tôi có một tập tin cấu hình tùy chỉnh có chứa TraceEventType tài sản sau

[ConfigurationProperty("Severity")] 
    public TraceEventType Severity 
    { 
    get { return (TraceEventType)this["Severity"]; } 
    set { this["Severity"] = value; } 
    } 

Trong tập tin cấu hình của tôi, tôi đại diện cho khách sạn này với giá trị sau:

... 
    <FileLog Filename="Test" 
      Severity="1" /> 

Các kết quả: Tôi nhận được điều này:

System.Configuration.ConfigurationErrorsException: Giá trị của thuộc tính 'Mức độ nghiêm trọng' không thể được phân tích cú pháp. Lỗi là: Giá trị điều tra phải là một trong những điều sau: Quan trọng, Lỗi, Cảnh báo, Thông tin, Chi tiết, Bắt đầu, Ngừng, Tạm dừng, Tiếp tục, Chuyển.

+0

Tôi tin rằng tôi đang thiếu điều gì đó dễ hiểu mà tôi hiểu lầm ... Cảm ơn sự giúp đỡ của bạn ... –

Trả lời

3

Bạn sẽ có thể chỉ sử dụng tên của giá trị enum trong tệp cấu hình, giống như thông báo lỗi nêu rõ. Ví dụ:

<FileLog Filename="Test" Severity="Verbose" /> 

Lớp System.Configuration sẽ xử lý phân tích enum cho bạn.

+0

Tôi biết đó là một cách dễ dàng ... Cảm ơn một triệu ... :-) –

+0

Thật tuyệt! Mừng vì tôi có thể giúp... – rsbarro

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