WPF Delegate委托整理

那啥,是从这里整理出来的,感谢Rising_Sun,整理的过于简单,看不明白的戳这里

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Data;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Imaging;

using System.Windows.Navigation;

using System.Windows.Shapes;



namespace Delegate委托

{

    /// <summary>

    /// MainWindow.xaml 的交互逻辑

    /// </summary>

    public partial class MainWindow : Window

    {

        public MainWindow()

        {

            InitializeComponent();

        }

        delegate string SayMessage(string msg);

        static string SayHello(string Name)

        {

            return string.Format("Hello {0}", Name);

        }

        private void button1_Click(object sender, RoutedEventArgs e)

        {

            SayMessage say = new SayMessage(SayHello);

            textBlock1.Text = say("委托");

        }



        private void button2_Click(object sender, RoutedEventArgs e)

        {

            SayMessage say = delegate(string Name)

            {

                return string.Format("Hello {0}", Name);

            };

            textBlock2.Text = say("匿名方法");

        }



        private void button3_Click(object sender, RoutedEventArgs e)

        {

            SayMessage say = (Name) =>

            {

                return string.Format("Hello {0}", Name);

            };

            textBlock3.Text = say("Lambda");

        }

        private void button4_Click(object sender, RoutedEventArgs e)

        {

            Func<string, string> say1 = delegate(string Name)

            {

                return string.Format("Hello {0}", Name);

            };

            //和Lambda 结合

            Func<string, string> say2 = (Name) =>

            {

                return string.Format("Hello {0}", Name);

            };

            textBlock4.Text = say1("Func 委托") + say2("Func+Lambda 委托");

        }

        private void button5_Click(object sender, RoutedEventArgs e)

        {

            Action<string> say1 = delegate(string Name)

            {

                textBlock5.Text = (string.Format("Hello {0}", Name));

            };

            //和Lambda 结合

            Action<string> say2 = (Name) =>

            {

                textBlock5.Text += (string.Format("Hello {0}", Name));

            };

            say1("Action 委托");

            say2("Action+Lambda 委托");

        }

    }

}

下面那啥,不堪入目!没人看到没人看到没人看到。。。。。。

<Window x:Class="Delegate委托.MainWindow"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        Title="MainWindow" Height="350" Width="525">

    <Grid>

        <Button Content="Button" Height="25" HorizontalAlignment="Left" Margin="34,12,0,0" Name="button1" VerticalAlignment="Top" Width="65" Click="button1_Click" />

        <TextBlock Height="25" HorizontalAlignment="Left" Margin="166,12,0,0" Name="textBlock1" Text="TextBlock" VerticalAlignment="Top" Width="160"/>

        <Button Content="Button" Height="26" HorizontalAlignment="Left" Margin="34,58,0,0" Name="button2" VerticalAlignment="Top" Width="65" Click="button2_Click" />

        <TextBlock Height="26" HorizontalAlignment="Left" Margin="165,58,0,0" Name="textBlock2" Text="TextBlock" VerticalAlignment="Top" Width="161" />

        <Button Content="Button" Height="26" HorizontalAlignment="Left" Margin="34,108,0,0" Name="button3" VerticalAlignment="Top" Width="65" Click="button3_Click" />

        <TextBlock Height="26" HorizontalAlignment="Left" Margin="165,108,0,0" Name="textBlock3" Text="TextBlock" VerticalAlignment="Top" Width="161" TextWrapping="Wrap"/>

        <Button Content="Button" Height="26" HorizontalAlignment="Left" Margin="34,158,0,0" Name="button4" VerticalAlignment="Top" Width="65" Click="button4_Click" />

        <TextBlock Height="26" HorizontalAlignment="Left" Margin="165,158,0,0" Name="textBlock4" Text="TextBlock" VerticalAlignment="Top" Width="161" TextWrapping="Wrap" />

        <Button Content="Button" Height="26" HorizontalAlignment="Left" Margin="34,208,0,0" Name="button5" VerticalAlignment="Top" Width="65" Click="button5_Click" />

        <TextBlock Height="26" HorizontalAlignment="Left" Margin="165,208,0,0" Name="textBlock5" Text="TextBlock" VerticalAlignment="Top" Width="161" TextWrapping="Wrap"/>



    </Grid>

</Window>


咳咳,反正是自己看的

你可能感兴趣的:(delegate)