当前位置:  开发笔记 > 编程语言 > 正文

具有构造函数的模型与没有构造函数ASP.NET MVC的模型

如何解决《具有构造函数的模型与没有构造函数ASP.NETMVC的模型》经验,为你挑选了1个好方法。

我正在研究一个项目ASP.NET MVC.我一直在寻找关于这个主题的一些学习资源,我遇到了一个我正在寻找澄清的场景.假设:

public class Foo
{
    public int Id { get; set; }
    public string FooName { get; set; }
    public virtual Bar Bar { get; set; }
}

public class Bar
{
    public Bar()
    {
        this.Foos = new List;
    }

    public int Id { get; set; }
    public string BarDesc { get; set; }
    public virtual List Foos { get; set; }
}

我的意思是,它与没有构造函数的模型Bar有什么不同?请忽略实体中属性(如果有)或可能的关系中的任何错误,因为我只想澄清在模型中有构造函数.谢谢!



1> mason..:

使用您显示的构造函数,Bar.Foos将是一个类型为Foo的空列表.

没有构造函数,Bar.Foos将为null(除非您在其他地方初始化它).

你在这两行之间看到的是相同的差异:

List test1 = null;
List test2 = new List();

假设你正在使用C#6,另一种在没有构造函数的情况下初始化它的方法是:

public class Bar
{
    public int Id { get; set; }
    public string BarDesc { get; set; }
    public virtual List Foos { get; set; } = new List();
}

其中的3个技巧,你选择将是你的,根据你是否总是希望属性初始化或没有,如果你有多个构造函数,你觉得看起来更好,你怎么觉得空的集合引用VS空集等.


@KeithRousseau是的,但我只是想让伊曼纽尔受益.关键是"编写代码以尽量减少错误,但不要相信其他人也会这样做".
推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有