1. 程式人生 > >unity學習——委託(帶引數方法的使用)

unity學習——委託(帶引數方法的使用)

這是一個只具有列印功能的指令碼

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DelegateScript : MonoBehaviour {

   //宣告一個委託型別,它的例項引用一個方法
    delegate void MyDelegate(int num);
    MyDelegate myDelegate;
     void Start()
    {
       //委託型別MyDelegate的例項myDelegate引用方法PrintNum
myDelegate = PrintNum; myDelegate(50); //委託型別MyDelegate的例項myDelegate引用方法PrintDoubleNum myDelegate = PrintDoubleNum; myDelegate (50); } //輸出原數 void PrintNum(int num) { Debug.Log("Print num:"+num); } //輸出該數的兩倍 void PrintDoubleNum(int num) { Debug.Log("Double Num:"
+num*2); } }

Delegate類定義了兩個私有方法PrintNum和PrintDoubleNum,它們分別實現了列印傳入的引數和列印傳入引數的兩倍的功能。在Start方法中,MyDelegate類的例項myDelegate分別引用了這兩個方法,並且分別呼叫了這兩個方法。
列印結果如下
這是列印結果