c# - 在 C# 中解析用户提供的枚举值

标签 c# parsing reflection enums types

我希望用户提供一个枚举名称,比如“Color”,和一个值,比如“red”,并告诉他们这是否是该枚举的成员值,或者枚举是否甚至存在。

我该怎么做?

过去,我使用过 Type.GetType("UserProvidedType").Parse/Convert.ChangeType,但当用户提供的类型是枚举时,这似乎不起作用。请参见: Parsing to primitive types, based on user input in c# 对于在这种情况下似乎不起作用的过去解决方案。

谢谢。

最佳答案

var type = Type.GetType("YourNameSpace.Color");
var belongs = Enum.GetNames(type).Any(o => o == "Red");

关于c# - 在 C# 中解析用户提供的枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4683881/

相关文章:

c# winform 屏幕分辨率

html - 如何删除特定标签但保留允许的标签

java - SimpleDateFormat 宽容导致意外行为

c# - 如何使用参数获取 Ctor 的 ConstructorInfo

c# - 如何获取类中所有公共(public)变量的列表? (C#)

c# - 添加透明水印(png)图像到另一图像

c# - 是由偏离水平面大于 45 度的两点组成的线

parsing - 如何从 x 语言的 Go 编译包中获取类型信息?

方法参数是接口(interface)的Java反射

C# 编译器选择了错误的扩展方法