我想写这将返回FontStyle,并采取字符串作为参数的函数
FontStyle f = function ("Italic"); // FontStyles.Italic
我不想写开关的情况下,或者如果else语句做同样的。
可以在不区分大小写字符串做些什么呢?
FontStyle f = function ("italic");
FontStyle f = function ("itAlic");
应返回相同。
我想写这将返回FontStyle,并采取字符串作为参数的函数
FontStyle f = function ("Italic"); // FontStyles.Italic
我不想写开关的情况下,或者如果else语句做同样的。
可以在不区分大小写字符串做些什么呢?
FontStyle f = function ("italic");
FontStyle f = function ("itAlic");
应返回相同。
您可以使用反射为此:
var propertyInfo = typeof(FontStyles).GetProperty("Italic",
BindingFlags.Static |
BindingFlags.Public |
BindingFlags.IgnoreCase);
FontStyle f = (FontStyle)propertyInfo.GetValue(null, null);
在C#中它仅仅是一个枚举。 所以,你可以将它转换是这样的:
FontStyle f = (FontStyle)Enum.Parse(typeof(FontStyle), "Italic", true);