unity學習——委託(帶引數方法的使用)
阿新 • • 發佈:2019-01-24
這是一個只具有列印功能的指令碼
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分別引用了這兩個方法,並且分別呼叫了這兩個方法。
列印結果如下