CS0104 ooo
は、xxx
とyyy
間のあいまいな参照です。
原因
これは、ooo
が、xxx
とyyy
の両方で存在していて、PCがどっちのooo
を選べばいいかを悩むと発生するエラーです。
スマートに解決
using xxx;
using yyy;
と一番上のところに書いてある場合がほとんどだと思うので、
使いたい方を残して、いらない方の行を消します。
今回は、xxx
の方を使いたいと仮定すると結果は以下のようになります。
using xxx;
共存させる形のスマートな方法(2024/3/11更新)
エイリアスを使うことで、共存させつつ、スマートに解決することが可能です。
エイリアスとは、
using 名前 = 名前空間;
という形でusing文を使うことで、名前空間の部分を名前で代用することが可能です。
例でいうと以下のような感じです。
//例
using X = xxx;
using Y = yyy;
var X1 = new X.ooo();
var Y1 = new Y.ooo();
ゴリ押しで解決
xxx
とyyy
の両方を消したくない!
となると、以下のようにするのが、一番いいですね。
xxx.ooo;
yyy.ooo;
xxx
やyyy
にコロンをつけることで、
明確に、xxx
のooo
や、yyy
のooo
だとわかるので、
PCが悩まずに済むように、なります。
上記のコードだと、少しわかりにくいので、例を示します。
//例
var vector3A = new UnityEngine.Vector3();
var vector3B = new System.Numeric.Vector3();