TomoGのごちゃまぜ倉庫

Unity Generic関数の使い方

今回はGeneric関数についてメモ書きしたいと思います

■そもそもGeneric(ジェネリック)関数とは

hiyotama.hatenablog.com

オーバーロードを使用した方法

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

public class Sample : MonoBehaviour {

    public void sample(int t)
    {
        //int型の処理
    }

    public void sample(float t)
    {
        //float型の処理
    }

    public void sample(string t)
    {
        //string型の処理
    }
}


関連記事
tomog.hatenablog.com

ジェネリック関数を使用したときの方法

    public void Sample2<T>(T val)
    {
        if(typeof(T) == typeof(int))
[https://docs.unity3d.com/jp/current/Manual/GenericFunctions.html:embed:cite]


わかりやすかった参考サイト

        {
          //int型の処理
        } else if(typeof(T) == typeof(float))
        {
          //float型の処理
        } else if(typof(T) == typeof(string))
        {
          //string型の処理
        }
    }

少しややこしくなっていますが、このように型を指定して処理を行うこともできます