将方法添加到事件和创建方法之间的区别

问题描述 投票:1回答:1

添加方法按钮的单击事件和创建单独的单击方法有什么区别,除了它们是在不同的地方创建的?他们不能达到同样的目的吗?

namespace WpfApplication1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        startWorkButton.Click += async (sender, o) =>
        {
            startWorkButton.IsEnabled = false;
            workStartedTextBlock.Text = "Job Started";
            await Task.Delay(1000);
            startWorkButton.IsEnabled = true;
            workStartedTextBlock.Text = "Job Ended";
        };
    }

    //private async void startWorkButton_Click(object sender, RoutedEventArgs e)
    //{
    //    startWorkButton.IsEnabled = false;
    //    workStartedTextBlock.Text = "Job Started";
    //    await Task.Delay(1000);
    //    startWorkButton.IsEnabled = true;
    //    workStartedTextBlock.Text = "Job Ended";
    //}
}
}
c# wpf click
1个回答
2
投票

基本上它是一样的。在引擎盖下,编译器会生成一个名为c#的合法方法(如<>lambdaFunc'1或类似的东西)。这是为了确保程序员没有定义具有该名称的方法。这种方法可能会或可能不会在一个单独的类中,它取决于很多东西。重要的是,从你的角度来看,它是一样的。它们存在的原因是为了让您可以自由地为一些只使用一次的东西定义一个新方法。你不必给它一个名字,也不会让你的课堂变得杂乱无章。

© www.soinside.com 2019 - 2024. All rights reserved.