我有两个名称空间:
System.Numerics和UnityEngine
两者都有类型Vector3
。
所以现在,当我想要使用它时,我必须在它之前声明哪个命名空间。像这样:
protected struct CVN
{
public Complex h;
public UnityEngine.Vector2 d;
public UnityEngine.Vector3 n;
}
有没有办法定义我只想从一个名称空间中使用Vector3
所以我不必每次都输入NameSpaceHere.Vector3
?
或者我坚持每次都说明命名空间的繁琐性质。特别是因为我只需要来自Numerics的Complex
类型,这非常烦人。
如果您从System.Numerics
所需要的只是Complex
,那么:
using UnityEngine;
using Complex = System.Numerics.Complex;
在文件的顶部,没有using System.Numerics;
应该这样做。这是别名。
您可以在当前类的命名空间中包含所需类的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
}
}
}