c# 常用用法整理

    xiaoxiao2021-03-25  15

    public delegate void PrintStr(string s);     class Delegate_GetInvocationList     {         static void Main(string[] args)         {             MethodInfo mInfo = typeof(Hello).GetMethod("PrintStr", BindingFlags.Public | BindingFlags.Static);             PrintStr pStr = (PrintStr) Delegate.CreateDelegate(typeof(PrintStr), null, mInfo);             pStr += Hello.PrintStr2;             pStr += Hello.PrintStr3;             //pStr.DynamicInvoke("F#");             Delegate[] delegates = pStr.GetInvocationList();             foreach (Delegate d in delegates)                 Console.WriteLine("delegate : " + d);             pStr(".NET");             pStr.DynamicInvoke("F#");                          Console.ReadLine();         }     }     public class Hello     {         public static void PrintStr(string name)         {             Console.WriteLine("Hello, " + name);         }         public static void PrintStr2(string name)         {             Console.WriteLine("Hi, " + name);         }                  public static void PrintStr3(string name)         {             Console.WriteLine("Hi22222, " + name);         }

        }

    1. CreateDelegate 使用指定的第一个参数创建指定类型的委托,该委托表示指定的静态 2. DynamicInvoke 动态调用(后期绑定)由当前委托所表示的方法。 3. GetInvocationList 返回委托的调用列表。

    转载请注明原文地址: https://ju.6miu.com/read-300110.html

    最新回复(0)