【Unity】Randomの参照があいまいというエラーが出た時の対処方法

  • URLをコピーしました!
目次

はじめに

SystemとUnityEngineの両方をusingしている状態で「Random」を使用すると、どちらにも「Random」クラスが存在するため”参照があいまい”ということでエラーが出ます。その対象方法です。

error CS0104: ‘Random’ is an ambiguous reference between ‘UnityEngine.Random’ and ‘System.Random’

using System;
using UnityEngine;

public class Temp
{
    void Start()
    {
        // エラーが出る
        Random.Range(0,10);
    }
}

対処方法.1

名前空間ごと指定する

using System;
using UnityEngine;

public class Temp
{
    void Start()
    {
        // エラーが出ない
     UnityEngine.Random.Range(0,10);
    }
}

対処法.2

RandomはUnityEngineのRandomであることをusingで定義する

using System;
using UnityEngine;
// ★ Random は Unity の Random だと定義する
using Random = UnityEngine.Random;

public class Temp
{
    void Start()
    {
        // エラーが出ない
        UniRandom.Range(0,10);
    }
}

参考

PG日誌
UnityEngine.RandomとSystem.Randomがあいまいなのを解決する - PG日誌 タイトルの通りですが、以下のように2つの名前空間を using すると Unity のクラス名と C# の標準ライブラリのクラス名が同じためエラーが出ます。 using System; using Un...

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次