1

我正在尝试转换以下内容:

public IEnumerable<string> MyProperty
{
    get
    {
        if (String.IsNullOrWhiteSpace(Record.MyProperty)) return new string[] { };
        return Record
            .MyProperty
            .Split(new[] { '.' }, StringSplitOptions.RemoveEmptyEntries)
            .Select(r => r.Trim())
            .Where(r => !String.IsNullOrEmpty(r));
    }
    set { Record.MyProperty = value == null ? null : String.Join(",", value); }
}

处理一个enum,但我失败了(这是一个词吗?)。

我正在尝试这样的事情:

string.Split(new[] ',', Record.MyProperty).Select
    (r => (MyEnum)Enum.Parse(typeof(MyEnum), r));

进行解析,但再次“失败”。

有什么指导吗?谢谢。

更新:

我正在尝试将此数据保存为string. 因此,如果用户选择四个中的三个enums,它将因此保存为字符串:“Choice1,Choice2,Choice3”。

上面的代码是一个代理public string MyProperty { get; set; }

4

1 回答 1

5

您应该在传递给的数组周围添加一些大括号Split,并将其作为实例方法调用,而不是静态方法。

Record.MyProperty.Split(',')
                 .Select(r => (MyEnum)Enum.Parse(typeof(MyEnum), r));

那对你有用吗?

于 2013-01-15T15:49:02.663 回答