1. Cách đơn giản nhất nè:
- Sử dụng lớp Enum sẵn có (sử dụng giống như ta nhập vào đó là 1 kiểu số nguyên . . )
- Cú pháp như sau:
var v_enum_result = (enumType)Enum.Parse(typeof(enumType), stringValue);
- Phương thức này sẽ trả về cho ta kiểu enumType mà ta mong muốn từ stringValue.
2. Cách này thì cũng tương tự như cách trên:
- Ta đi xây dựng 1 phương thức tương tự như Enum.Parse();
- Xây dựng 1 phương thức tĩnh có tên có tên: ConvertStringToEnum()
static object ConvertStringToEnum(Type t, string Value) { foreach (System.Reflection.FieldInfo fi in t.GetFields()) { if (fi.Name == Value) return fi.GetValue(null); } throw new Exception(string.Format("Can't convert {0} to {1}", Value, t.ToString())); }
Thế là có kiểu enum xài chơi rồi . . .
*** Quên mất, sử dụng nó thế nào nhỉ?
- Khà khà, tương tự như cách thứ nhất. Ta làm như sau
- Ví dụ luôn: Convert string sang kiểu FormWindowState.
FormWindowState userWindowState = (FormWindowState)ConvertStringToEnum(typeof(FormWindowState), strFormWindowSate);
Bây giờ thì có thể cười được rồi, he he. . .
0 comments:
Đăng nhận xét