3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CS0104 'ooo'は、'xxx'と'yyy'間のあいまいな参照です。

Last updated at Posted at 2024-03-11

CS0104 oooは、xxxyyy間のあいまいな参照です。

原因

これは、oooが、xxxyyyの両方で存在していて、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();

ゴリ押しで解決

xxxyyyの両方を消したくない!
となると、以下のようにするのが、一番いいですね。

xxx.ooo;
yyy.ooo;

xxxyyyにコロンをつけることで、
明確に、xxxoooや、yyyoooだとわかるので、
PCが悩まずに済むように、なります。
上記のコードだと、少しわかりにくいので、例を示します。

//例
var vector3A = new UnityEngine.Vector3();
var vector3B = new System.Numeric.Vector3();
3
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?