はじめに
今回は可変長引数をつかったメソッドについての記事になります。
可変長引数と聞いてもやや分かりづらいかもしれないですが、単に複数の引数を受け取るがその数を限定しないものを表します。
なぜか好き勝手に引数を指定できると思うとワクワクしませんか?
自由はやっぱり素晴らしい!
使い方
可変長引数を受け取るメソッドを定義するにはparams
を使います。
using UnityEngine; public class Hoge: MonoBehaviour { [SerializeField] private GameObject _gameObject1; [SerializeField] private GameObject _gameObject2; [SerializeField] private GameObject _gameObject3; private void Start() { TurnOffActives(_gameObject1,_gameObject2,_gameObject3); } private void TurnOffActives(params GameObject[] gameObjects) { foreach(GameObject gameObject in gameObjects) { gameObject.SetActive(false); } } }
この例ではparam
を付けることで任意のゲームオブジェクトを指定することができます。
よくある例としてオーバーロードでいくつもメソッドを定義することがありますが、可変長引数を使える時は使うべきです。
さいごに
param
を用いることでかなりコードが見やすくなるので、是非使えるときは使うように心がけましょう!