的代理
我正在尝试转换以下内容:
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; }
您应该在传递给Split
的数组周围添加一些大括号,并将其作为实例方法调用,而不是静态方法。
Record.MyProperty.Split(',')
.Select(r => (MyEnum)Enum.Parse(typeof(MyEnum), r));
这对你有用吗?