我在一个3D团结项目中工作。
当我试图扩展或使用一个名为Ability的特殊类时,IDE强制我将名称空间添加到声明中,从而完成类的完整导入。
这不起作用(正常导入外部命名空间):
using CarlaFramework.Opsive.UltimateCharacterController.Scripts.Character.Abilities;
namespace CarlaFramework.uiMonitor {
public abstract class DoozyViewAbilityMonitor : SerializedMonoBehaviour
{
private Ability currentAbility;
}
}这项工作(进口报关单):
protected CarlaFramework.Opsive.UltimateCharacterController.Scripts.Character.Abilities.Ability currentAbility;这也起作用(导入内部命名空间声明):
namespace CarlaFramework.uiMonitor
{
using Opsive.UltimateCharacterController.Scripts.Character.Abilities;
public abstract class DoozyViewAbilityMonitor : SerializedMonoBehaviour
{
private Ability currentAbility;
}
}代码图像:
发布于 2020-04-17 02:33:54
问题是,我有一个名称空间,其名称与类名(Ability)相冲突。
当我试图声明Ability类型的变量时,我必须编写完整的命名空间,让IDE知道我指的是什么:
protected CarlaFramework.Opsive.UltimateCharacterController.Scripts.Character.Abilities.Ability currentAbility;只要重命名名称空间,问题就解决了。
以下是名称冲突:

发布于 2020-04-17 02:02:38
第一个示例不是导入,而是类型的完全限定名。不能从类中导入这样的程序集引用。
using有两种不同的含义
Dispose()方法。请参阅https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/using-statementhttps://stackoverflow.com/questions/61262579
复制相似问题