CS0104: неоднозначная ссылка между System.Numerics.Vector3 и UnityEngine.Vector3 - PullRequest
0 голосов
/ 26 мая 2020

enter image description here

Я не могу использовать Vector3 в своем коде.

ошибка: код серьезности Описание Ошибка состояния подавления строки файла проекта CS0104 'Vector3' - это неоднозначная ссылка между 'System.Numerics.Vector3' и 'UnityEngine.Vector3' Assembly-CSharp C: \ Users \ BJ \ Documents \ New Unity Project (1) \ Assets \ move.cs 9 Active

Ответы [ 2 ]

3 голосов
/ 26 мая 2020

У вас есть директива using для System.Numerics и одна для UnityEngine. Оба этих пространства имен содержат Vector3. Поэтому вам придется решить, какой из них вы имеете в виду.

Вы можете полностью определить тип, подобный этому, чтобы устранить двусмысленность:

UnityEngine.Vector3 move; // Probably this is what you meant, I'm guessing

... или ...

System.Numerics.Vector3 move;

... в зависимости от того, какой из них вы намеревались.

Вы также можете удалить оператор using для нежелательного пространства имен. Например, если вам не нужна директива using для System.Numerics, удалите строку, которая выглядит так:

using System.Numerics;

Это заставит вас полностью квалифицировать любые другие типы из System.Numerics который вы могли использовать в другом месте, но тогда вы можете просто сказать Vector3 move;, и он однозначно преобразуется в UnityEngine.Vector3.

0 голосов
/ 26 мая 2020

Вероятно, вы используете конфликтующие пространства имен, проверьте директивы using в верхней части кода, вы не предоставили полный код, поэтому я не уверен, но если вы используете оба UnityEngine и System пространства имен в вашем коде, используйте полностью определенные имена типов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...