[C#] メソッドの引数に可変長引数(params)で且つ参照渡し(refキーワード)をしたい

バージョン

C# 8.0

概要

メソッドの引数に可変長で且つ参照渡しをしたい。
結論から書くと、paramsとrefキーワードを併用することができないので、
Actionクラスを可変長引数(params)で渡して対応する。

コード

int型配列に格納された値をチェックや加工をして、順番に画面のテキストボックスにセットする。

public void Sample()
{
  int[] vals = { 1, 22, 333};

  SetData(vals,
    x => { this.HogeTextBox.Text = x.ToString(); },
    x => { this.FugaTextBox.Text = x.ToString(); },
    x => { this.HogeFugaTextBox.Text = x.ToString(); } );
}

public void SetData(int[] vals, params Action<int>[] actions)
{
  if(vals.Length != actions.Length) {
    return;
  }

  for(int i = 0; i < vals.Length; i++) {
    var tempVal = vals[i];

    // ここで値をチェックや加工する
    // something

    // 値をセットする
    actions[i](tempVal);
  }
}