C# 属性

C# 抽象

C# 字符串

C# 泛型

C# 杂项

C# 新特性

C# Delegates 代表

在 C# 中,委托是对方法的引用它的工作方式类似于C 和 C++ 中的函数指针但它比函数指针是面向对象的、安全的和类型安全的。

对于静态方法,委托只封装方法。但是对于实例方法,它同时封装了方法和实例。

委托的最佳用途是用作事件。

在内部,委托声明定义了一个类,它是System.Delegate的派生类。

C# 委托示例

让我们看一个调用 add() 和 mul() 方法的 C# 中委托的简单示例。

例子 (Example)

using System;  
delegate int Calculator(int n);//declaring delegate  
      
public class DelegateExample  
{  
    static int number = 100;  
    public static int add(int n)  
    {  
        number = number + n;  
        return number;  
    }  
    public static int mul(int n)  
    {  
        number = number * n;  
        return number;  
    }  
    public static int getNumber()  
    {  
        return number;  
    }  
    public static void Main(string[] args)  
    {  
        Calculator c1 = new Calculator(add);//instantiating delegate  
        Calculator c2 = new Calculator(mul);  
        c1(20);//calling method using delegate  
        Console.WriteLine("After c1 delegate, Number is: " + getNumber());  
        c2(3);  
        Console.WriteLine("After c2 delegate, Number is: " + getNumber());  
  
    }  
}

输出:

fter c1 delegate, Number is: 120
After c2 delegate, Number is: 360


上一主题 没有了 下一主题 没有了
  • 使用社交账号登录,本站支持
全部评论(0)