zoukankan      html  css  js  c++  java
  • C#中常用的几个委托

     

    代码

    using System;
    using System.Drawing;

    public class Example
    {
        
    public static void Main()
        {
            
    // Create an array of five Point structures.
            Point[] points = { new Point(100200), 
                
    new Point(150250), new Point(250375), 
                
    new Point(275395), new Point(295450) };

            
    // To find the first Point structure for which X times Y 
            
    // is greater than 100000, pass the array and a delegate
            
    // that represents the ProductGT10 method to the Shared 
            
    // Find method of the Array class. 
            Point first = Array.Find(points, ProductGT10);

            
    // Note that you do not need to create the delegate 
            
    // explicitly, or to specify the type parameter of the 
            
    // generic method, because the C# compiler has enough
            
    // context to determine that information for you.

            
    // Display the first structure found.
            Console.WriteLine("Found: X = {0}, Y = {1}", first.X, first.Y);
        }

        
    // This method implements the test condition for the Find
        
    // method.
        private static bool ProductGT10(Point p)
        {
            
    if (p.X * p.Y > 100000)
            {
                
    return true;
            }
            
    else
            {
                
    return false;
            }
        }
    }

    /* This code example produces the following output:

    Found: X = 275, Y = 395
     
    */
    public delegate void Action<in T>(
        T obj
    )

    using System;
    using System.Windows.Forms;

    delegate void DisplayMessage(string message);

    public class TestCustomDelegate
    {
       
    public static void Main()
       {
          DisplayMessage messageTarget; 

          
    if (Environment.GetCommandLineArgs().Length > 1)
             messageTarget 
    = ShowWindowsMessage;
          
    else
             messageTarget 
    = Console.WriteLine;

          messageTarget(
    "Hello, World!");   
       }      

       
    private static void ShowWindowsMessage(string message)
       {
          MessageBox.Show(message);      
       }
    }



    public delegate TResult Func<in T, out TResult>(
        T arg
    )



    using System;

    delegate string ConvertMethod(string inString);

    public class DelegateExample
    {
       
    public static void Main()
       {
          
    // Instantiate delegate to reference UppercaseString method
          ConvertMethod convertMeth = UppercaseString;
          
    string name = "Dakota";
          
    // Use delegate instance to call UppercaseString method
          Console.WriteLine(convertMeth(name));
       }

       
    private static string UppercaseString(string inputString)
       {
          
    return inputString.ToUpper();
       }
    }


    using System;
    using System.Windows.Forms;

    public class TestAction1
    {
       
    public static void Main()
       {
          Action
    <string> messageTarget; 

          
    if (Environment.GetCommandLineArgs().Length > 1)
             messageTarget 
    = ShowWindowsMessage;
          
    else
             messageTarget 
    = Console.WriteLine;

          messageTarget(
    "Hello, World!");   
       }      

       
    private static void ShowWindowsMessage(string message)
       {
          MessageBox.Show(message);      
       }
    }

    using System;

    public class GenericFunc
    {
       
    public static void Main()
       {
          
    // Instantiate delegate to reference UppercaseString method
          Func<stringstring> convertMethod = UppercaseString;
          
    string name = "Dakota";
          
    // Use delegate instance to call UppercaseString method
          Console.WriteLine(convertMethod(name));
       }

       
    private static string UppercaseString(string inputString)
       {
          
    return inputString.ToUpper();
       }
    }

    using System;
    using System.Windows.Forms;

    public class TestAnonMethod
    {
       
    public static void Main()
       {
          Action
    <string> messageTarget; 

          
    if (Environment.GetCommandLineArgs().Length > 1)
             messageTarget 
    = delegate(string s) { ShowWindowsMessage(s); };
          
    else
             messageTarget 
    = delegate(string s) { Console.WriteLine(s); };

          messageTarget(
    "Hello, World!");
       }

       
    private static void ShowWindowsMessage(string message)
       {
          MessageBox.Show(message);      
       }
    }


    using System;
    using System.Windows.Forms;

    public class TestLambdaExpression
    {
       
    public static void Main()
       {
          Action
    <string> messageTarget; 

          
    if (Environment.GetCommandLineArgs().Length > 1)
             messageTarget 
    = s => ShowWindowsMessage(s); 
          
    else
             messageTarget 
    = s => Console.WriteLine(s);

          messageTarget(
    "Hello, World!");
       }

       
    private static void ShowWindowsMessage(string message)
       {
          MessageBox.Show(message);      
       }
    }

  • 相关阅读:
    php课程 6-23 mb_substr字符串截取怎么用
    js进阶 10-6 jquery中的属性选择器有哪些
    php实现 明明的随机数
    js进阶 10-5 jquery中的层级选择器有哪些
    js进阶 10-4 jquery中基础选择器有哪些
    请问开发手机游戏需要什么软件?
    阿里云服务器apache服务器局域网访问公网访问配置
    js进阶 10-3 jquery中为什么用document.ready方法
    js进阶 10-2 JQuery基础语法是什么
    js进阶 9 js操作表单知识点总结
  • 原文地址:https://www.cnblogs.com/shineqiujuan/p/1933000.html
Copyright © 2011-2022 走看看