我有一个引用服务层对象的属性,每次使用表单时都需要它。 什么是最好的实践:在构造函数或表单的加载事件中初始化一个属性?在加载事件或构造函数中初始化属性?
2
A
回答
3
如果表单的状态的有效性取决于属性被设置,则设置在构造的性质。您总是希望您的对象在构建完成后处于有效状态。
0
在构造函数中。通常情况下,你需要设置一些表单,或者在实际显示表单之前设置其他类型的表单。在这些情况下,甚至在表单实际加载之前,您会希望设置所有实例变量。
0
构造应负责初始化,除非你有特殊需要或依赖初始化表格装入变量,比如它初始化的东西,是依赖于别的东西。
2
呀,但要小心你在一个窗体的构造做了什么,为可视化设计器,当您打开编辑的形式将运行此。
如果你把任何东西在这里,依赖于其他的东西被设立在运行时,很容易引起错误,你将无法编辑表单布局。
我会说把它放在窗体的Load这个原因。
0
你应该初始化在构造函数的性质。每个表单实例显然只调用一次构造函数。每次显示表单时都会调用加载事件处理程序。此外,如果您在加载事件处理程序中执行了初始化工作(例如填充组合框),则必须先编写一些非常难看的代码,以便在显示表单之前在该组合框中预先选择一个值。这只是一个例子。希望有所帮助。
相关问题
- 1. 列表初始化构造函数或属性
- 2. 在构造函数中初始化属性内的列表?
- 3. 在构造函数中初始化EF POCO标量属性
- 4. XMLEncoder writeObject跳过在构造函数中初始化的属性
- 5. 如何在JavaScript构造函数中初始化属性
- 6. 科特林:初始化类属性在构造函数中
- 7. 在构造函数中初始化
- 8. 在构造函数中初始化ArrayList
- 9. java中的构造函数初始化变量的属性
- 10. 在默认的构造函数初始化属性
- 11. 初始化在定义与初始化在构造函数中
- 12. Java - 私有初始化程序或在构造函数中的初始化?
- 13. 类的初始化 - 属性没有默认构造函数
- 14. 没有初始化属性的Matlab类构造函数
- 15. 构造函数中的初始化块
- 16. 在构造函数中初始化数组或向量
- 17. 初始化的声明VS在构造函数初始化
- 18. 在Getter或构造函数中初始化成员
- 19. 初始化变量:直接或在构造函数中?
- 20. 在构造函数或字段声明中初始化列表
- 21. 在构造函数或声明中初始化变量
- 22. 内联或在构造函数中初始化字段
- 23. Javascript - 在构造函数或构造函数的prototype属性中设置属性?
- 24. 如何在Java中构造函数中初始化引用属性?
- 25. 在类构造函数或定义时初始化数组?
- 26. Java构造函数初始化?
- 27. 初始化构造函数C++
- 28. 创建构造函数初始化
- 29. C++模板构造函数初始化
- 30. 构造函数初始化混淆
你是对的,你需要小心。但是,如果要设置的属性是类不变式,那么意味着除非设置了这些属性,否则没有其他客户端应该触摸该对象,在这种情况下,构造函数是唯一合理的位置。推论:依赖于运行时初始化的属性不应该是设计器管理类的类不变量。 – 2009-10-26 17:09:34