App构造函数和app.Onstartup有什么区别?

时间:2017-01-02 07:40:17

标签: c# wpf constructor startup

我正在对我的应用程序进行一些重构,并且我希望在app.xaml.cs中收集全局初始化。

我在构造函数中有一些,而OnStartup中有一些。

OnStartup似乎是在构造函数之后调用的。

这两种方法有什么区别?我应该把我的所有代码放在哪里?

1 个答案:

答案 0 :(得分:2)

the source of System.Windows.Application可以看到,没有太大区别。

class Userdatum < ActiveRecord::Base user = User.new user.name = "XXX" user.email = "mail" user.save end 方法是从构造函数调用的最后一个方法。

如果您实现自己的构造函数,OnStartup已被触发。另外,在这种独特的情况下,您可以覆盖自己的OnStartup实现,可以放弃您已经拥有的实施(如果您不打电话给OnStartup)。

就我个人而言,我仍会选择base,但我认为这并不重要。如果您不了解真正的执行顺序,将两者混合在一起可能会很危险。