传递新对象或对象引用

本文关键字:对象引用 对象 新对象 | 更新日期: 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});

同样的事情,没有区别

我猜你只想以你的开发团队喜欢的方式去做。

两者都是一样的。

如果要在将任何propertymember传递给函数之前对其进行分配,则可以使用1来保持代码整洁干净。但是,您也可以通过@prospector建议的方法执行相同的操作。

如果

TestDatabaseContext db = new TestDatabaseContext();

不在同一代码块(方法)中

testObject = new TestObject(db);

使用

1,您将再次使用相同的db实例(例如,如果在构造函数中设置了它并在方法中设置了 testObject 变量),使用 2,每次设置 testObject 时,将使用 TestDatabaseContext 的新实例。

如果要

重用db实例,如果两行在同一个方法/构造函数中/...否则它没有任何区别。