winforms - 在用户控件中使用构造函数注入(inject)的方法?

标签 winforms visual-studio dependency-injection

是否有任何方法可以在不破坏设计器的情况下强制或允许用户控件的构造函数所需的依赖关系?存在哪些解决方法?

默认构造函数 EditorBrowsable.Never 或属性注入(inject),但我更喜欢构造函数注入(inject)。

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

最佳答案

设计用户控件,使其不使用依赖项

看看微软提供的控件(ASP.NET、Windows Forms、WPF等)。它们都不使用依赖项。相反,您通常通过可写属性分配数据给它们。

这是一个更多SOLID设计是因为控件的单一职责应该是呈现数据。因此,如果您还赋予它检索或格式化数据的责任,那么您就破坏了 Single Responsibility Principle .

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

关于winforms - 在用户控件中使用构造函数注入(inject)的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4970028/

相关文章:

c# - 在 C# Winforms 中使用多线程的响应式 GUI

c# - 获取数组中最大和最小的数

c# - 从 C# Windows 窗体应用程序在 SQLite 数据库中记录错误

git - 如何在 Visual Studio 中从 TFS visualstudio.com 迁移到 GitHub?

c++ - 当构造具有 std::less 作为参数时,对象类型看起来很奇怪

javascript - 如何在Vue组件中使用依赖?

c# - 在 TreeView 中禁用 SelectedImageIndex

c# - 设置断点执行后触发

java - 使用 Google Guice 进行生命周期管理

c# - 如何在asp.net web api中使用caSTLe Windsor在身份验证过滤器属性中实现依赖注入(inject)?