我正在尝试这个但不确定它需要什么作为参数。
VerticalAlignment.TryParse("top"); // Must return VerticalAlignment.Top & ignore case
有没有办法实现这个目标?请指导
答案 0 :(得分:2)
VerticalAlignment
是一个枚举,因此请尝试使用Enum.Parse
,如下所示:
var result = (VerticalAlignment)Enum.Parse(typeof(VerticalAlignment), "top", true);
当然,您也可以编写自己的通用方法,使这种语法更加可口:
public static T ParseEnum<T>(string stringValue) where T : struct
{
return (T)Enum.Parse(typeof(T), stringValue, true);
}
然后像这样使用它:
var result = ParseEnum<VerticalAlignment>("top");
答案 1 :(得分:1)
因为它是枚举使用此
VerticAligment va = (VerticalAlignment)Enum.Parse(typeof(VerticalAlignment), "top", true);
最后一个值是ignoreCase属性,你需要使它匹配不区分大小写。
答案 2 :(得分:1)
你几乎拥有它 - 你只需要将第二个参数指定为true
来忽略大小写:
VerticalAlignment alignment;
VerticalAlignment.TryParse("Top", true, out alignment);