C# 委托基本例子

Posted bcbobo21cn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 委托基本例子相关的知识,希望对你有一定的参考价值。

委托的基本概念,

    委托(Delegate) 是存有对某个方法的引用的一种引用类型变量;
    引用可在运行时被改变;
    委托(Delegate)特别用于实现事件和回调方法;
    所有的委托(Delegate)都派生自 System.Delegate 类;
写一个例子,保存为test1.cs;

using System;

delegate int MyNumber(int n);

namespace MyTest
{
   class TestDelegate
   {
      static int num = 100;
      public static int AddNum(int p)
      {
         num += p;
         return num;
      }

      public static int MultNum(int q)
      {
         num *= q;
         return num;
      }
      public static int getNum()
      {
         return num;
      }

      static void Main(string[] args)
      {

         MyNumber nc1 = new MyNumber(AddNum);
         MyNumber nc2 = new MyNumber(MultNum);

         nc1(250);
         Console.WriteLine("Value of Num: {0}", getNum());
         nc2(50);
         Console.WriteLine("Value of Num: {0}", getNum());
         Console.ReadKey();
      }
   }
}

delegate int MyNumber(int n);

    声明委托,此委托可用于引用任何一个带有一个整型参数并返回一个整型值的方法;

MyNumber nc1 = new MyNumber(AddNum);

    实例化委托,括号里面是方法名;

放到netframework目录,编译运行如下;

 

以上是关于C# 委托基本例子的主要内容,如果未能解决你的问题,请参考以下文章

浅谈C#委托和事件(转载)

对“xxx”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。 错误解决一例。(代码片段

C# 委托和事件:一个简单的例子

C#之委托

C# 托管

C# 从1到Core--委托与事件