Tôi có một kiểu enum như thế này là một ví dụ:Parse chuỗi enum loại
public Enum MyEnum {
enum1, enum2, enum3 };
Tôi sẽ đọc một chuỗi từ tập tin cấu hình. Những gì tôi cần nó để phân tích chuỗi để MyEnum loại hoặc null o không được xác định. Không chắc chắn nếu các mã sau đây sẽ làm việc (xin lỗi vì không có quyền truy cập vào VS của tôi ngay bây giờ):
// example: ParseEnum<MyEnum>("ENUM1", ref eVal);
bool ParseEnum<T>(string value1, ref eVal) where T : Enum
{
bool bRet = false;
var x = from x in Enum.GetNames(typeof(T)) where
string.Equals(value1, x, StringComparison. OrdinalIgnoreCase)
select x;
if (x.Count() == 1)
{
eVal = Enum.Parse(typeof(T), x.Item(0)) as T;
bRet = true;
}
return bRet;
}
không chắc chắn nếu nó là đúng hoặc có bất kỳ cách đơn giản khác để phân tích một chuỗi giá trị MyEnum?
Check-out Enum.TryParse, như đã đề cập trong [bài này] (http://www.codeducky.org/ins- outs-c-enums /). – ChaseMedallion