Два пространства имен с одинаковым именем объекта - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть два пространства имен:

System.Numerics и UnityEngine

Оба имеют тип Vector3.

Так что теперь, когда я захочу использовать его, у меня естьобъявить, какое пространство имен перед ним.Например:

protected struct CVN
{
    public Complex h;
    public UnityEngine.Vector2 d;
    public UnityEngine.Vector3 n;
}

Есть ли способ определить, что я хочу Vector3 только из одного пространства имен, поэтому мне не нужно всегда вводить NameSpaceHere.Vector3 каждый раз?

Или я застрял в утомительной природе определения пространства имен каждый раз.Тем более, что мне нужен только тип Complex от Numerics, это довольно раздражает.

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

Вы можете обернуть директиву using нужного класса в пространство имен вашего текущего класса, а не помещать его снаружи.Рассмотрим этот пример

namespace System.Numerics
{
    class MyClass
    {
    }
}
namespace UnityEngine
{
    class MyClass
    {
    }
}
using System.Numeric;

namespace ConsoleApplication24
{
    using UnityEngine; // inside the namespace
    class Program
    {
        static void Main(string[] args)
        {
            MyClass xx = new MyClass(); // from UnitEngine instead of System.Numeric
        }
    }
}

0 голосов
/ 22 февраля 2019

Если все, что вам нужно от System.Numerics, это Complex, то:

using UnityEngine;
using Complex = System.Numerics.Complex;

В верхней части файла без using System.Numerics; следует это сделать.Это псевдоним .

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