相关疑难解决方法(0)

通过构造函数或属性设置器进行依赖注入?

我正在重构一个类并为它添加一个新的依赖项.该类目前正在构造函数中使用其现有依赖项.因此,为了保持一致性,我将参数添加到构造函数中.
当然,对于单元测试,有一些子类加上甚至更多,所以现在我正在玩改变所有构造函数的游戏来匹配,并且它需要很长时间.
这让我觉得使用带有setter的属性是获得依赖关系的更好方法.我认为注入的依赖项不应该是构造类实例的接口的一部分.您添加了一个依赖项,现在所有用户(子类和任何直接实例化您的用户)突然知道它.这感觉就像打破了封装.

这似乎不是现有代码的模式,所以我希望找出一般的共识是什么,构造函数与属性的优缺点.使用属性设置器更好吗?

dependency-injection inversion-of-control

145
推荐指数
9
解决办法
3万
查看次数

有没有办法在Visual Studio中更改IntelliSense中列出的构造函数的顺序?

我已经定义了一个具有多个构造函数的类,以便在实例化对象后底层接口是不可变的.我希望其中一个构造函数成为用户在Visual Studio中键入以下内容时的"默认"构造函数:

var obj = new MyClass(

Dim obj As New MyClass(
Run Code Online (Sandbox Code Playgroud)

目前,当我去实例化对象时,构造函数没有按照我在类中声明的顺序列出(在Visual Studio IntelliSense中).有没有办法标记我的构造函数,以便它们的方法在Visual Studio IntelliSense实例化期间以特定顺序出现?

.net c# vb.net intellisense visual-studio

13
推荐指数
1
解决办法
1358
查看次数