在用户控件中使用构造函数注入的方法?

Mas*_*low 6 dependency-injection visual-studio winforms

有没有办法在不破坏设计者的情况下强制执行或允许构造函数所需的用户控件依赖项?有什么工作存在?

一个带有EditorBrowsable.Never 或属性注入的默认构造函数,但我更喜欢构造函数注入.

其他解决方案或解决方案?

Mar*_*ann 10

设计用户控件,以便它们不使用依赖项.

查看Microsoft提供的控件(ASP.NET,Windows窗体,WPF等).他们都没有使用依赖项.相反,您可以通过可写属性为其分配数据.

这是一个更加SOLID的设计,因为控件的唯一责任应该是呈现数据.因此,如果您还要负责检索或格式化数据,那么您就违反了单一责任原则.

当您设计这样的控件时,默认构造函数变得自然.