C#中的单播委托

在本文中,我将解释C#中的单播委托(Singlecast Delegate)。委托类似于C或者C++中的函数指针,它可以保存函数的引用。
它是C#中的一种新对象类型。
委托是一种非常特殊的对象类型,因为在我们以前定义的所有对象中都包含了包含的数据,但是委托只包含方法的详细信息。

单播委托

单播委托一次引用单个方法。
在此,该委托一次被分配给单个方法。
它们来自system.delegate类。

C# 单播委托示例

using System;

public delegate int Addsub(int a);

namespace DelegateAppl

{

    class DelegateExample

    {

        static int num = 5;

        public static int AddNum(int b)

        {

            num += b;

            return num;

        }

        public static int subNum(int c)

        {

            num -= c;

            return num;

        }

        public static int getNum()

        {

            return num;

        }

        static void Main(string[] args)

        {

            //create delegate instances

            Addsub D1 = new Addsub(AddNum);

            Addsub D2 = new Addsub(subNum);

            D1(25);

            Console.WriteLine("Value of Num: {0}", getNum());

            D2(5);

            Console.WriteLine("Value of Num: {0}", getNum());

            Console.ReadKey();          
        }  
    }
}

C# 单播委托示例

public delegate int Addsub(int a)

public is access modifier.

int is access ReturnType.

AddSub是委托名称。

委托分为:

  • SingleCast delegate(单播委托)
  • Multiplecast delegate (多播委托)

委托声明

[attributes] [modifiers] delegate ReturnType Name ([formal-parameters]);

其中:

修饰符(modifier)可以是以下关键字之一

  • public
  • private
  • protected
  • internal

ReturnType 可以是我们使用的任何数据类型。

Name 是委托的名称。

日期:2020-04-11 23:03:51 来源:oir作者:oir