在字符串值的基础上设置对齐

时间:2014-01-20 23:31:59

标签: c# wpf parsing enums

我正在尝试这个但不确定它需要什么作为参数。

VerticalAlignment.TryParse("top"); // Must return VerticalAlignment.Top & ignore case

有没有办法实现这个目标?请指导

3 个答案:

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