1

我一直在阅读一些“隐藏的 C# 功能”的东西,并且有 2011 年关于此的帖子:

using web = System.Web.UI.WebControls;
using win = System.Windows.Forms;

web::Control aWebControl = new web::Control();
win::Control aFormControl = new win::Control();

一直以来,我一直这样使用它:

using xna = Microsoft.Xna.Framework;
using sd = System.Drawing;

var rect = new xna.Rectangle();
var bounds = new sd.Rectangle();

在别名上使用::和运算符之间有什么显着区别吗?.有什么事情你可以(不能)只用其中一个来做吗?

4

1 回答 1

1

只有两个区别(IIRC)。

第一个区别是::只能与别名一起使用。

唯一真正的区别是它::可以用来访问global命名空间,因为它是隐式别名的。

所以这行不通:

System::Int32 myInt = 0;

但这(尽管是毫无意义的例子)将起作用:

using System = global::System;

System::Int32 myInt = 0;
于 2013-09-12T23:48:44.420 回答