Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法使用集合初始值设定项初始化类型_C# - Fatal编程技术网

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

C# 无法使用集合初始值设定项初始化类型,c#,C#,我有一个班级可供选择 public class Option { public bool Aggregation { get; set; } public PropertyOptions Property { get; set; } public bool DoEvent { get; set; } } 房产期权是这样的 public enum PropertyOptions { [EnumMember]

我有一个班级可供选择

public class Option
{                
    public bool Aggregation { get; set; }
    public PropertyOptions Property { get; set; }
    public bool DoEvent { get; set; }
}
房产期权是这样的

public enum PropertyOptions
{        
    [EnumMember]
    On = 0,     
    [EnumMember]
    Off = 1,
    [EnumMember]        
    Auto = 2,
}
现在我有了一个方法,它返回一个类选项的对象

Option setOptions()
{
        return new Option()
        {
            Aggregation = true,                
            Property = new PropertyOptions()
            {
                PropertyOptions.Auto,
            },                                       
            DoEvent = true,
       };
}
在这里我得到一个错误,它说“不能用集合初始值设定项初始化类型PropertyOptions,因为它没有实现System.collection.IEnumerable”

我不确定如何设置数据成员“属性”。
如果有人能让我注意到可能出现的错误以及如何纠正它,那将是非常有帮助的。

你需要使用常规作业

new Option()
{
    Aggregation = true,                
    Property = PropertyOptions.Auto,                                   
    DoEvent = true
}
您尝试使用的语法用于集合初始化。例如:

var list = new List<string>
{
    "apple",
    "banana"
};
var list=新列表
{
“苹果”,
“香蕉”
};

您的
属性
属性不是集合。

新运算符用于实例化类中的对象。您正在使用的枚举不是类

您应该能够只使用赋值运算符

new Option()
{
    Aggregation = true,                
    Property = PropertyOptions.Auto,                                   
    DoEvent = true
};