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