Enums được biên dịch thành các trường tĩnh liên tục, giá trị của chúng được biên dịch thành bạn, vì vậy không, không thể thay đổi chúng. (Giá trị không đổi của họ thậm chí có thể được biên dịch vào những nơi mà bạn tham khảo chúng.)
Ví dụ lấy enum này:
enum foo
{
Value = 3
}
Sau đó, bạn có thể nhận được hiện trường và thông tin của mình như thế này:
var field = typeof(foo).GetField("Value", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Public);
Console.WriteLine(field.GetValue(null));
Console.WriteLine(field.Attributes);
Điều này là không thể. – DavidG
Tại sao bạn lại muốn điều này? – Rotem
+1 Tôi không hiểu các cử tri xuống. Đừng bỏ phiếu cho câu hỏi vì câu trả lời là 'không' bỏ phiếu cho câu trả lời đó là 'không' thay thế. – Myster