程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#高級(八)委托(3)

C#高級(八)委托(3)

編輯:關於C語言
先我們定義了一個NumberOpthion類。用來對數字進行*2和2次方運算。接著,我們定義了一個委托 delegate double DoubleOpration(double x)。下面,我們定義了printNumber(DoubleOpration dp,double x) 這樣一個方法,其中一個參數就是委托。最後我們DoubleOpration doption =new DoubleOpration(NumberOpthion.numOne);實例化了一個委托,並調用了 printNumber 方法。最後的輸出 結果是

Value is 0.5 result of DoubleOpration is 3;

Value is 3.2 result of DoubleOpration is 10.24;

在上例中,我們如果采用匿名方法,代碼就會如下:

using System;
namespace gosoa.com.cn
{
   public class delegateTest
   {
     delegate double DoubleOpration(double x);
     static void printNumber(DoubleOpration dp,double x)
     {
       double result=dp(x);
       Console.WriteLine(
         "value is {0}, result of DoubleOpration is {1}:",x,result
       );
     }
     static void Main()
     {
       DoubleOpration doptionOne =delegate(double x){return x*2;};
       DoubleOpration doptionTwo =delegate(double x){return x*x;};
       printNumber(doptionOne,1.5);
       printNumber(doptionTwo,3.2);
     }
   }
}

委托,還有一種情況,是多播委托。這個在以後我們應用到的時候,會學習到。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved