我想编写一个函数,它将返回 FontStyle 并将字符串作为参数
FontStyle f = function ("Italic"); // FontStyles.Italic
我不想写 Switch case 或 if else 语句来做同样的事情。
可以为不区分大小写的字符串完成吗?
FontStyle f = function ("italic");
FontStyle f = function ("itAlic");
应该返回相同。
在 C# 中,它只是一个枚举。所以你可以像这样转换它:
FontStyle f = (FontStyle)Enum.Parse(typeof(FontStyle), "Italic", true);
您可以为此使用反射:
var propertyInfo = typeof(FontStyles).GetProperty("Italic",
BindingFlags.Static |
BindingFlags.Public |
BindingFlags.IgnoreCase);
FontStyle f = (FontStyle)propertyInfo.GetValue(null, null);