今回はUnityというよりC#のプログラム的なメモです。
修正漏れを防止する
例えば、下記の様にInvokeRepeatingでは呼び出すメソッド(SquareIns)を文字列として指定します。
using UnityEngine;
public class CreateSquare : MonoBehaviour
{
[SerializeField] private GameObject _SquarePrefab;
[SerializeField] private float _interval;
void Start()
{
InvokeRepeating("SquareIns", 0f, _interval);
}
private void SquareIns()
{
Instantiate(_SquarePrefab);
}
}
メソッド名を変更するとコンパイルエラーとならず、実行した時にエラーとなります。

しかし、下記の様にnameofで囲うとコンパイルエラーになり、修正漏れに気付きます。
InvokeRepeating(nameof(SquareIns), 0f, _interval);
公式リファレンスは下記です。
switch文の中でも使えそうで便利ですね。
nameofを使わない方が良い場合も
nameofはコルーチンの呼び出しでも利用できるけど、パラメータがあるコルーチンの場合はnameofを利用しない方が自然ですかね。
StartCoroutine(SquareIns(num));
