是否有任何方法可以在不破坏设计器的情况下强制或允许用户控件的构造函数所需的依赖关系?存在哪些解决方法?
默认构造函数 EditorBrowsable.Never 或属性注入(inject),但我更喜欢构造函数注入(inject)。
其他解决方法或解决方案?
最佳答案
设计用户控件,使其不使用依赖项。
看看微软提供的控件(ASP.NET、Windows Forms、WPF等)。它们都不使用依赖项。相反,您通常通过可写属性分配数据给它们。
这是一个更多SOLID设计是因为控件的单一职责应该是呈现数据。因此,如果您还赋予它检索或格式化数据的责任,那么您就破坏了 Single Responsibility Principle .
当您设计这样的控件时,默认构造函数就变得很自然。
关于winforms - 在用户控件中使用构造函数注入(inject)的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4970028/