无法使用集合初始值设定项初始化类型

Qui*_*gan 2 c#

我有一个类选项.

public class Option
{                
    public bool Aggregation { get; set; }
    public PropertyOptions Property { get; set; }
    public bool DoEvent { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

PropertyOptions就是这样的..

public enum PropertyOptions
{        
    [EnumMember]
    On = 0,     
    [EnumMember]
    Off = 1,
    [EnumMember]        
    Auto = 2,
}
Run Code Online (Sandbox Code Playgroud)

现在我有一个返回类Option对象的方法

Option setOptions()
{
        return new Option()
        {
            Aggregation = true,                
            Property = new PropertyOptions()
            {
                PropertyOptions.Auto,
            },                                       
            DoEvent = true,
       };
}
Run Code Online (Sandbox Code Playgroud)

这里我收到一条错误,上面写着"无法使用集合初始化程序初始化类型PropertyOptions,因为它没有实现System.Collection.IEnumerable"

我不确定如何设置数据成员'Property'.如果有人能引起我注意可能出现的错误以及如何纠正错误会很有帮助?

Tim*_*lds 6

您需要使用常规分配.

new Option()
{
    Aggregation = true,                
    Property = PropertyOptions.Auto,                                   
    DoEvent = true
}
Run Code Online (Sandbox Code Playgroud)

您尝试使用的语法是集合初始化.例如:

var list = new List<string>
{
    "apple",
    "banana"
};
Run Code Online (Sandbox Code Playgroud)

您的Property财产不是一个集合.