Unity C# 델리게이트 Delegate

Intro

C# 델리게이트

델리게이트

델리게이트는 대리자로써 함수를 대신 호출해주는 역할을 한다.

델리게이트 사용

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

public class Delegate : MonoBehaviour
{
    delegate int Calculator(int num1, int num2);

    int Add(int num1,int num2)
    {
        return num1 + num2;
    }

    void Start()
    {
        Calculator cal = new Calculator(Add);
        print(cal(10, 20));
    }

}

Add 함수를 Calculator 델리게이트가 대신 호출해주는것을 확인할 수 있다.

1

델리게이트 체인

하나의 델리게이트는 여러개의 함수를 한번에 실행 할수있다.

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

public class DelegateChain : MonoBehaviour
{
    public delegate void DelegatePrint();

    DelegatePrint printDelegate;


    public void PrintName()
    {
        print("John");
    }

    public void PrintAge()
    {
        print("15");
    }

   
    void Start()
    {
        printDelegate += PrintAge;
        printDelegate += PrintName;

        printDelegate();
    }

}

여러개의 함수가 델리게이트 호출 한번으로 같이실행되는것을 확인

함수를 델리게이트에서 제거하려면 -= 를 사용한다.

2

참고자료

https://youtu.be/m9_D0DQ4SGU?list=PLUZ5gNInsv_O7XRpaNQIC9D5uhMZmTYAf

태그: ,

카테고리:

업데이트:

댓글남기기