[英]Asp.Net MVC4 'Object reference not set to an instance of an object'
[英]Asp.net MVC4, C# Create object instance
我应该在哪里创建一个实例? 哪种方式更好,为什么?
1)在构造函数中?
public class UserController : Controller
{
private UnitOfWork unitofwork;
public UserController(){
unitofwork = new UnitofWork();
}
public ActionResult DoStuff(){
...
2)作为私人班级成员?
public class UserController : Controller
{
private UnitOfWork unitofwork = new UnitofWork();
public ActionResult DoStuff(){
...
真的,这是个人偏好。 有些人更喜欢在构造函数之外初始化,因为没有其他人出现的可能性并且在没有初始化的情况下添加新成员,因为在他们面前有一个例子。
作为一般规则,如果对象的初始化需要任何逻辑或需要参数,那么我更喜欢在构造函数中执行它。 无论你选择什么,一定要保持一致。
编辑:注意,在构造函数中初始化还允许您调用非静态方法和属性
取决于您想要实现的目标。 如果使用字段进行,它将在构造函数之前初始化,因此您可以稍后执行其他操作。
在这个特定的例子中,它没有太大区别(除了序列)。
我更喜欢将它保留在构造函数中,因为它允许您在需要时将其扩展到行,而不更新您从中调用它的所有位置,并且还使您的调用代码更清晰,更简洁。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.