gpt4 book ai didi

c# - 为什么 VS-Intellisense 有时会为命名空间添加 "use"并将其添加到 C# 中的类型之前

转载 作者:行者123 更新时间:2023-12-04 16:59:57 24 4
gpt4 key购买 nike

为什么VS-intellisense有时会写using在页面顶部,有时会像 new namespace.class 这样内联添加它在 C# 中?

例如

using Namespace;
Obj obj = new Obj();


obj = new Namespace.Obj();

最佳答案

有时两个命名空间具有相同的类。所以为了避免歧义,命名空间被添加到类中。

例子:
假设您有 Namespace1 和 Namespace2,并且它们都有类 Employee

using Namespace1;
using Namespace2;

namespace MyNamespace
{
public class MyClass
{
private Employee emp1; // does it come from Namespace1 or Namespace2 ?
}
}

所以在这种情况下可以做两种解决方案

一种是明确定义 namespace
using Namespace1;
using Namespace2;

namespace MyNamespace
{
public class MyClass
{
private Namespace1.Employee emp1;
}
}

另一个是你从一开始就定义你使用来自某个命名空间的 Employee ,如下所示。
using Namespace1;
using Namespace2;
using Employee = Namespace1.Employee;

namespace MyNamespace
{
public class MyClass
{
private Employee emp1; //Notice the definition above
}
}

关于c# - 为什么 VS-Intellisense 有时会为命名空间添加 "use"并将其添加到 C# 中的类型之前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45161629/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com