Tôi có một enum:C# Bật enums
public enum Status
{
Incomplete = 1, Complete = 2, Cancelled = 3, Deleted = 4
}
Bây giờ trên một trang nhất định tôi muốn liệt kê enum này trong CheckBoxList. Điều này sẽ được tốt ngoại trừ việc tôi muốn văn bản của mỗi hộp kiểm để hiển thị văn bản khác với enum.
tức là hộp kiểm nên nói:
"không được xử lý" thay vì "Incomplete"
"Đã xử lý" thay vì "Complete"
"Void" thay vì "hủy"
Có thể đặt enum này vào một foreach và sau đó chuyển sang trạng thái và cập nhật văn bản. Giống như vậy:
var statuses = Enum.GetNames(typeof(Status));
foreach (var status in statuses)))
{
switch (status)
{
case Status.Complete.ToString():
status = "Processed";
break; ...etc
}
}
Bất kỳ ý tưởng nào cũng sẽ được đánh giá cao.
Dường như với tôi đây là tạo thuộc tính mới (EnumValueDataAttribute) cho thuộc tính đã tồn tại (System.ComponentModel.DescriptionAttribute). Nó hoạt động nhưng tôi hỏi tại sao bạn sẽ tạo một cái mới thay vì sử dụng DescriptionAttribute? – TLiebe
@ TLiebe - điểm tốt. Tôi là nạn nhân của nhiều năm tiêu chuẩn mã hóa giả tạo. Đây là cách mà các nhà phát triển mà tôi tham gia đã làm. Tôi không phá vỡ mô hình; làm cho các đánh giá mã khó chịu! :) –