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

标签 c# wpf constructor startup

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

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

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

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

最佳答案

区别不大,从the source of System.Windows.Application可以看出.

OnStartup 方法是从构造函数调用的最后一个方法。

如果您实现自己的构造函数,则 OnStartup 已经被触发。此外,在特殊情况下,您将覆盖自己的 OnStartup 实现可能会丢弃您已有的实现(如果您不调用 base)。

就我个人而言,我仍然会选择 OnStartup,但我想这并没有那么重要。如果您不知道真正的执行顺序,将两者混合在一起可能会很危险。

关于c# - App构造函数和app.Onstartup有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41422975/

相关文章:

c# - 自定义验证器未触发

wpf - 使用 SortDescription 时将字符串日期转换为日期

java - 模拟类的构造函数内的方法

javascript - 在不删除静态属性的情况下覆盖函数

design-patterns - 如何使构造函数返回子类对象

c# - 说明如何使用 FirstDisplayedScrollingRowIndex

c# - ASP.NET MVC - 创建没有后备的自定义路由

c# - 我需要一个用于所有方法的通用包装器,而无需复制代码 (C#)

wpf - 如何设置 UIElement 的 DesiredSize.Width?

c# - 如何将矩形添加到 PathFigure WPF