Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用解析和反射将字符串添加到枚举_C#_String_Parsing_Reflection_Enums - Fatal编程技术网

C# 使用解析和反射将字符串添加到枚举

C# 使用解析和反射将字符串添加到枚举,c#,string,parsing,reflection,enums,C#,String,Parsing,Reflection,Enums,我正在读取一个字符串,并将该字符串与下一行中的一个枚举值进行匹配: (DataType)Enum.Parse(typeof(DataType), row[0], true); 是否有其他方法或更有效的方法将字符串与枚举匹配?我听说这可以通过反射来实现,这可能吗?有什么提示吗?它会更有效吗?不,在我看来,你确实做得很对。你可能会混淆它,因为人们通常使用DescriptionAttribute来标记枚举,而使用另一种方式-将枚举转换为字符串以供显示: public enum SomeEnum {

我正在读取一个字符串,并将该字符串与下一行中的一个枚举值进行匹配:

(DataType)Enum.Parse(typeof(DataType), row[0], true);

是否有其他方法或更有效的方法将字符串与枚举匹配?我听说这可以通过反射来实现,这可能吗?有什么提示吗?它会更有效吗?

不,在我看来,你确实做得很对。你可能会混淆它,因为人们通常使用
DescriptionAttribute
来标记枚举,而使用另一种方式-将枚举转换为字符串以供显示:

public enum SomeEnum
{
  [Description("This is value One")]
  Value1,
  [Description("This is value Two")]
  Value2
}

是否要知道存在具有相同字符串名称的枚举值?我正在将此字符串作为枚举添加到列表中