【发布时间】:2011-10-01 11:51:56
【问题描述】:
我最近停止使用using-statements,而是使用我调用的任何.net 对象的完整命名空间路径。
例子:
using System;
namespace QuizViewer
{
class Class1
{
Console.WriteLine("Hello World!");
}
}
这就是我现在所做的。
namespace QuizViewer
{
class Class1
{
System.Console.WriteLine("Hello World!");
}
}
在你问我为什么这样做之前,我使用这种样式是为了可以准确地看到我的对象来自哪里,并且在使用不同的 Timer 对象和其他具有相似名称的对象时更容易。
这种编程风格是否有性能提升或降低?
【问题讨论】:
-
我会说这种风格会导致正在阅读或编写代码的人的性能显着下降......(这样做很公平这适用于一些类,例如
Timer,其中有几个同名的类,但在大多数情况下,我认为命名空间是噪音。) -
您始终可以将鼠标悬停在 Visual Studio 中的类型名称上以查看该类型的完整命名空间和类名。
-
请注意,您说的是using 指令,而不是using statements。 using 语句是
using(var stream = File.Open(...)) { ... }的形式。 -
另请注意,此相关问题可能会帮助您了解为什么此更改不会影响性能:stackoverflow.com/questions/6614375/…
-
最后,请注意,如果您因为两个名称相似的事物之间的特定混淆而避免“使用”,您可以使用 using alias 指令:
using FrobTimer = BogoSoft.Froboznicator.Timer;- - 现在您可以在该文件中使用标识符FrobTimer,编译器将知道您的意思是完全限定类型。
标签: using-statement .net c# .net namespaces using-statement