Đôi khi khi đọc mã C# của người khác, tôi thấy một phương thức sẽ chấp nhận nhiều giá trị enum trong một tham số. Tôi luôn nghĩ nó khá gọn gàng, nhưng chưa bao giờ nhìn vào nó.Làm thế nào để bạn vượt qua nhiều giá trị enum trong C#?
Vâng, bây giờ tôi nghĩ rằng tôi có thể có một nhu cầu cho nó, nhưng không biết làm thế nào để
- thiết lập chữ ký phương pháp để chấp nhận điều này
- làm việc với các giá trị trong phương pháp
- xác định enum
để đạt được loại điều này.
Trong trường hợp đặc biệt của tôi, tôi muốn sử dụng các System.DayOfWeek, được định nghĩa là:
[Serializable]
[ComVisible(true)]
public enum DayOfWeek
{
Sunday = 0,
Monday = 1,
Tuesday = 2,
Wednesday = 3,
Thursday = 4,
Friday = 5,
Saturday = 6
}
Tôi muốn để có thể vượt qua một hoặc nhiều các giá trị dayOfWeek đến phương pháp của tôi. Tôi có thể sử dụng enum cụ thể này không? Làm cách nào để tôi thực hiện 3 điều được liệt kê ở trên?
Như đã đề cập dưới đây, bạn có thể sử dụng một Flags enum.Bạn có thể muốn kiểm tra [Các ins and outs của C# enums] (http://www.codeducky.org/ins-outs-c-enums/), trong đó có thêm thông tin về làm việc với Flags enums. – ChaseMedallion