这个 C#“使用”是什么? 指示?
我在代码示例中看到了这个 C# using 语句:
using StringFormat=System.Drawing.StringFormat;
这是什么意思?
I saw this C# using statement in a code example:
using StringFormat=System.Drawing.StringFormat;
What's that all about?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
这就是将类型名别名为更短的名称。 相同的语法也可用于别名命名空间。 请参阅using 指令。
(针对理查德的回应进行了更新)
That's aliasing a typename to a shorter name. The same syntax can also be used for aliasing namespaces. See using directive.
(Updated in response to Richard)
它是一个别名,从现在开始,用户可以使用StringFormat来引用System.Drawing.StringFormat。 如果您不想使用整个命名空间(例如,在名称冲突问题的情况下),它会很有用。
来源:使用来自 MSDN 的指令文章
It's an alias, from now on, the user can use StringFormat to refer to System.Drawing.StringFormat. It's useful if you don't want to use the whole namespace (in case of name clash issues for example).
source: using Directive article from MSDN
也许在另一个命名空间(如 Acme.Stuff)中声明了不同的、不相关的 StringFormat。 如果是这种情况,这会导致混乱:
别名是 使用 StringFormat=System.Drawing.StringFormat 消除了一些混乱。
Perhaps a different, unrelated StringFormat is declared in another namespace like Acme.Stuff. If that were the case, this would cause confusion:
Aliasing is with using on the StringFormat=System.Drawing.StringFormat clears up some of the confusion.
这意味着您正在使用 StringFormat 作为 System.Drawing.StringFormat 的别名;
It means you're using StringFormat as an alias for System.Drawing.StringFormat;
这将为 System.Drawing.StringFormat 定义一个别名。
这与这个例子是一样的:
This will define an alias to System.Drawing.StringFormat.
That's the same thing like this example:
它是命名空间的别名
It's a alias for the namespace
using 关键字用于导入名称空间或别名类或用于管理一次性对象的范围。 这里我们讨论的是命名空间的使用。
这里使用的方式在 C# 中有点不寻常,但在 Java import 语句中更常见。 它的作用是提供 StringFormat 别名,而不导入整个 System.Drawing 命名空间。 一些具有 Java 背景的人喜欢主动导入正在使用的类,而不是整个 anmespace(又名 Java 包)。 如果仅导入特定的类名,可以说您可以主动避免潜在的名称冲突,但这在 C# 中并不常见,而且 Visual Studio 并不像 Netbeans 对于 Java 那样鼓励这样做。
别名的更常见用法是在存在命名冲突时将类名解析为缩短的别名。
The using keyword is used for importing namespaces or aliasing classes or for managing scope on disposable objects. Here we are talking about the namespace usage.
The way using was used here is a little unusual in C# but more common in Java import statements. What it does is provide a StringFormat alias without importing the entire System.Drawing namespace. Some people with a Java background like to proactvely import only the classes being used rather than whole anmespaces (aka Java packages). Arguably you proactively avoid potential name conflicts if you import only specific class names but it isn't very common in C# and Visual Studio doesn't encourage it the way, say, Netbeans does for Java.
The more common usuage of aliasing is to resolve class names to a shortened alias when there is a naming conflict.