C# 将字符串转换为图标并指定给图标字段
我有一个xml将图标保存为字符串形式C# 将字符串转换为图标并指定给图标字段,c#,wpf,font-awesome,C#,Wpf,Font Awesome,我有一个xml将图标保存为字符串形式 <Icon Name="faMainMenuFile"> <Content>FolderOutline</Content> <Size>50</Size> </Icon> 我尝试创建一个函数,将字符串转换为FontAwesome.WPF.FontAwesomeIcon public FontAwesome.WPF.FontAweso
<Icon Name="faMainMenuFile">
<Content>FolderOutline</Content>
<Size>50</Size>
</Icon>
我尝试创建一个函数,将字符串转换为FontAwesome.WPF.FontAwesomeIcon
public FontAwesome.WPF.FontAwesomeIcon GetUIFontAwesome(string strIcon)
{
if(strIcon == "Calculator") return FontAwesome.WPF.FontAwesomeIcon.Calculator;
if (strIcon == "FolderOutline") return FontAwesome.WPF.FontAwesomeIcon.FolderOutline;
return FontAwesome.WPF.FontAwesomeIcon.None;
}
但我会创建一个巨大的列表来处理这个功能
如何修复它?您可以执行此操作将字符串转换为枚举:
public FontAwesome.WPF.FontAwesomeIcon GetUIFontAwesome(string strIcon)
{
FontAwesome.WPF.FontAwesomeIcon item;
if (Enum.TryParse(strIcon, out item))
return item;
else
return FontAwesome.WPF.FontAwesomeIcon.None;
}
如果名称与字段/属性匹配,则可以使用反射。
public FontAwesome.WPF.FontAwesomeIcon GetUIFontAwesome(string strIcon)
{
FontAwesome.WPF.FontAwesomeIcon item;
if (Enum.TryParse(strIcon, out item))
return item;
else
return FontAwesome.WPF.FontAwesomeIcon.None;
}