gpt4 book ai didi

c# - 是什么使 using 指令变得不必要?

转载 作者:行者123 更新时间:2023-12-05 01:43:45 24 4
gpt4 key购买 nike

是什么导致 C# 编译器在 using 指令上说“using 指令是不必要的”?

大概是当前命名空间。还有什么?这是在文档中的某处定义的吗?我无法通过 Google 搜索找到明确的答案。

编辑以澄清,我正在寻找编译器查找以确定不需要指令的地方的列表。

例如当前命名空间项目引用

我不是在寻找简单的修复方法(例如删除它),我是在尝试理解它的原因。指出任何解释它的文档都很棒。

最佳答案

“不需要使用指令”意味着当前 C# 代码文件中没有任何内容引用使用指令的命名空间中的非命名空间限定类型。要修复此警告,您需要删除 using 指令或添加一些使用 using 语句引用的命名空间中的类型的代码。

I'm looking for a list of places where the compiler looks to determine that a directive is not needed.

由于命名空间是特定于程序集的东西,可以由任何程序集扩展,因此没有这样的文档列表,因为它没有实际用途。但是,您可以通过多种方法找出可以消除警告消息的类型。

在 Visual Studio 中

您可以使用对象浏览器来确定 namespace 中的类型。

enter image description here

或者,您可以使用 Intellisense 在代码窗口中获取相同的信息。

enter image description here

在代码中

可以使用反射获取特定程序集中该命名空间中所有类型的列表。

string nspace = "...";

var q = from t in typeof(SomeClassInTheAssembly).Assembly.GetTypes()
where t.IsClass && t.Namespace == nspace
select t;
q.ToList().ForEach(t => Console.WriteLine(t.Name));

请记住,命名空间可以跨越多个程序集,这种方法可用于显示可以添加以消除警告的可能类型。

关于c# - 是什么使 using 指令变得不必要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48402517/

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