传递新对象或对象引用
本文关键字:对象引用 对象 新对象 | 更新日期: 2023-09-27 18:36:46
在C#(明确为MVC 5)中,我应该只将新对象传递给构造函数还是对已创建的对象的引用?
这是我所指的代码:
1.
TestDatabaseContext db = new TestDatabaseContext();
testObject = new TestObject(db);
或
阿拉伯数字。
testObject = new TestObject(new TestDatabaseContext());
上面的两个代码示例是否达到相同的结果?我应该偏爱一种方法而不是另一种方法吗?
提前谢谢。
这根本没有任何区别。
1) 如果您需要在将 db 传递给 TestObject 之前向 db 添加一些属性,那就太好了。
2)您可以使用对象初始值设定项执行我在#1中提到的相同操作
testObject = new TestObject(new TestDatabaseContext{id=1, otherproperty=whatever});
同样的事情,没有区别
我猜你只想以你的开发团队喜欢的方式去做。
两者都是一样的。
如果要在将任何property
或member
传递给函数之前对其进行分配,则可以使用1
来保持代码整洁干净。但是,您也可以通过@prospector建议的方法执行相同的操作。
如果
TestDatabaseContext db = new TestDatabaseContext();
不在同一代码块(方法)中
testObject = new TestObject(db);
1,您将再次使用相同的db
实例(例如,如果在构造函数中设置了它并在方法中设置了 testObject
变量),使用 2,每次设置 testObject
时,将使用 TestDatabaseContext
的新实例。
重用db
实例,如果两行在同一个方法/构造函数中/...否则它没有任何区别。