UWP项目的Program类和Main函数

一个.NET程序的入口点通常是Program类中的Main函数。包括WPF应用、控制台应用、ASP.NET应用在内都是从Main函数开始执行的。而使用.NET编写的UWP平台应用同样是从Main函数开始执行的,只不过开发者通常并不参与到Main函数的编写中。

在UWP空白应用(C#)模板中,生成项目时会自动在obj文件夹中的App.g.i.cs中生成Program类和Main函数。UWP默认的Main函数中的唯一语句是调用Application类的Start函数。

#if !DISABLE_XAML_GENERATED_MAIN
    /// <summary>
    /// Program class
    /// </summary>
    public static class Program
    {
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Windows.UI.Xaml.Build.Tasks"," 10.0.18362.1")]
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        static void Main(string[] args)
        {
            global::Windows.UI.Xaml.Application.Start((p) => new App());
        }
    }
#endif

有时,我们需要自行编写Main函数,例如在编写多实例UWP应用时需要在Main函数中确定需要激活UWP实例。此时,不能直接更改这个自动生成的Main函数,而是要在生成设置中定义宏DISABLE_XAML_GENERATED_MAIN以禁用该自动生成的Main函数,并定义我们自己的Program类和Main函数。

留言

有想法?请给我们留言!您的留言不会直接显示在网站内。