Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.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中自动实例化自动属性的字段#_C#_Properties - Fatal编程技术网

C# 在C中自动实例化自动属性的字段#

C# 在C中自动实例化自动属性的字段#,c#,properties,C#,Properties,这是我的模型: public class Schoolclass { private List<Pupil> _pupils; public Schoolclass() { _pupils = new List<Pupil>(); } public int SchoolclassId { get; set; } public string SchoolclassCode { get

这是我的模型:

public class Schoolclass
{
    private List<Pupil> _pupils;

    public Schoolclass()
    {
        _pupils = new List<Pupil>();
    }            

    public int SchoolclassId { get; set; }
    public string SchoolclassCode { get; set; }


    public List<Pupil> Pupils
    {
        get { return _pupils;} 
        set { _pupils = value; }
    }        
} 
公共课堂
{
学生个人名单;
公立学校班级()
{
_学生=新名单();
}            
public int SchoolclassId{get;set;}
公共字符串类代码{get;set;}
公开名单学生
{
获取{return}
设置{u=value;}
}        
} 
我是否可以在没有第三方工具的情况下使用C#实现这一点:

[Initialize]
public List<Pupil> Pupils {get;set}
[初始化]
公共列表{get;set}

我希望C#自动生成字段。

没有自动方式,但您仍然可以在构造函数中分配属性:

public Schoolclass()
{
    Pupils = new List<Pupil>();
}   
更新
全班都是这样的:

public class Schoolclass
{
    public Schoolclass()
    {
        Pupils = new List<Pupil>();
    }            

    public int SchoolclassId { get; set; }
    public string SchoolclassCode { get; set; }
    public List<Pupil> Pupils { get; private set; }

} 
公共课堂
{
公立学校班级()
{
学生=新名单();
}            
public int SchoolclassId{get;set;}
公共字符串类代码{get;set;}
公共列表{get;private set;}
} 

为了避免误解,您能发布完整的代码吗?所以现在判断他的更新,我不需要单个字段\u?好的,行@丽莎:为了完整起见,我用完整的重写类更新了答案。是的,谢谢弗雷德里克,我已经试过了你的代码,正如我之前所说的,它工作得很好!:)@atconway:除了您链接的文章中提到的内容之外,它还减少了对集合属性进行空检查的必要性。当代码被设计为只读并在对象构造期间分配集合属性时,您可以安全地继续检查Count属性或迭代集合,而无需在代码中添加null检查。
public class Schoolclass
{
    public Schoolclass()
    {
        Pupils = new List<Pupil>();
    }            

    public int SchoolclassId { get; set; }
    public string SchoolclassCode { get; set; }
    public List<Pupil> Pupils { get; private set; }

}