我有一个引用服务层对象的属性,每次使用表单时都需要它。 什么是最好的实践:在构造函数或表单的load事件中初始化一个属性?
答案 0 :(得分:3)
如果表单状态的有效性取决于所设置的属性,则在构造函数中设置该属性。你总是希望你的对象在构造后处于有效状态。
答案 1 :(得分:2)
是的,但要小心你在表单的构造函数中所做的事情,因为当你打开要编辑的表单时,可视化设计器会运行它。
如果您在此处放置任何依赖于在运行时设置的其他内容的内容,则可能会导致错误并且您无法编辑表单布局。
我会说因为这个原因把它放在Form Load中。
答案 2 :(得分:0)
在构造函数中。通常,您需要新建一个表单,并且需要设置一些属性,或者在实际显示表单之前进行其他类型的设置。在这些情况下,您甚至需要在Form实际加载之前设置所有实例变量。
答案 3 :(得分:0)
构造函数应该负责初始化,除非你有特定的需要或依赖来初始化你在Form Load上的变量,比如将它初始化为依赖于其他东西的东西。
答案 4 :(得分:0)
您应该在构造函数中初始化属性。显然,每个表单实例只调用一次构造函数。每次显示表单时都会调用load事件处理程序。此外,如果您在加载事件处理程序中进行了初始化工作(例如填充组合框),则必须编写一些非常hacky的代码,以便在显示表单之前在该组合框中预选值。这只是一个例子。希望有所帮助。