从字符串名称返回字体样式

本文关键字:字体 样式 返回 字符串 | 更新日期: 2023-09-27 18:33:48

我想写一个函数,它将返回FontStyle并将字符串作为参数

FontStyle f = function ("Italic"); // FontStyles.Italic

我不想写开关大小写或其他语句来做同样的事情。

可以对不区分大小写的字符串执行此操作吗?

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);