void 的方法。

构造委托对象时,通常提供委托将包装的方法的名称或使用匿名方法。实例化委托后,委托将把对它进行的方法调用传递给方法。调用方传递给委托的参数被传递给方法,来自方法的返回值(如果有)由委托返回给调用方。这被称为调用委托。可以将一个实例化的委托视为被包装的方法本身来调用该委托.

委托类型派生自 .NET Framework 中的 密封的,不能从 Delegate 中派生委托类型,也不可能从中派生自定义类。由于实例化委托是一个对象,所以可以将其作为参数进行传递,也可以将其赋值给属性。这样,方法便可以将一个委托作为参数来接受,并且以后可以调用该委托。

 

 DelegateDemo
{
    //声明一个委托,委托的类型由委托的名称定义。
    public delegate void Del(string message);
    
/// <summary>
    
/// Summary description for Class1.
    
/// </summary>
    class Class1
    {
        
/// <summary>
        
/// The main entry point for the application.
        
/// </summary>
        [STAThread]
        
static void Main(string[] args)
        {
            
//实例化委托
            Del handler = new Del(DelegateMethod);
            
//委托多路广播
            
//handler += new Del(DelegateMethod2);
            handler("invoke delegate");
            
//将上面创建的委托传递给该方法
            MethodWithCallback(handler);
            Console.Read();
        }
        
public static void DelegateMethod(string message)
        {
            System.Console.WriteLine(message);
        }
        
public static void DelegateMethod2(string message)
        {
            System.Console.WriteLine(
"this is 2 "+message);
        }
        
//将上面创建的委托作为参数传递给该方法
        public static void MethodWithCallback(Del callback)
        {
            callback(
"callback delegate");
        }

    }
}

相关文章:

  • 2022-01-26
  • 2022-02-25
  • 2021-08-08
  • 2021-09-13
  • 2021-12-14
  • 2021-07-10
  • 2021-10-10
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-10-30
  • 2021-11-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案