start方法说明
本文关键字:说明 方法 start | 更新日期: 2023-09-27 18:09:39
这段代码来自Programming Windows,第六版书:
using Windows.ApplicationModel.Activation;
using Windows.UI;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Media;
namespace StrippedDownHello
{
public class App : Application
{
static void Main(string[] args)
{
Application.Start((p) => new App());
}
...
}
}
我无法理解Application.Start((p) => new App());
行的语法。在类文档中,Start
方法定义为:
public static void Start(ApplicationInitializationCallback callback);
请向我解释一下这行带有lambda表达式的代码是如何与Start
方法定义相关的
lambda是编写ApplicationInitializationCallback实例的快捷方式
你可以检查这个委托的签名,看到它确实接受了一个参数,但没有返回任何东西。
在你的例子中,lambda就是这样做的:接受一个参数p,实例化一个App,不返回任何东西。
如果不使用lambda,你可以这样写:
static void Main(string[] args)
{
Application.Start(new ApplicationInitializationCallback(Start));
}
private static void Start(ApplicationInitializationCallbackParams p)
{
new App();
}