2011-01-09 24 views

Trả lời

27

Cờ chỉ đơn giản là viết tắt cho FlagsAttribute. Trong C#, bạn có thể để lại hậu tố "Thuộc tính" khỏi thuộc tính khi bạn áp dụng nó cho một phần tử.

Đối với cờ chính nó, tất cả những gì nó làm là biểu thị enum là có các thành viên cờ. Bạn vẫn phải đảm bảo rằng các thành viên có các giá trị kết hợp chính xác. Một số hàm khung, chẳng hạn như Enum.ToString, sẽ tìm thuộc tính flags để xác định cách diễn giải giá trị.

+4

Một cách tôi đảm bảo rằng giá trị "kết hợp chính xác" là bắt đầu từ 0 cho 'không', sau đó mỗi giá trị enum tăng dần bằng cách chuyển bit sang một bên trái .eg: '1 << 0' (1),' 1 << 1' (2), '1 << 2' (4), v.v. –