是 alias::Class 与 alias.Class 有任何不同
本文关键字:Class alias 任何不 | 更新日期: 2023-09-27 18:31:11
我一直在阅读一些"隐藏的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();
在别名上使用 ::
运算符和.
运算符之间有什么显着区别吗?有什么事情你可以(不能)只用其中一个做什么吗?
只有两个区别(IIRC)。
第一个区别是::
只能与别名一起使用。
唯一另一个真正的区别是::
可用于访问 global
命名空间,因为它是隐式别名的。
所以这行不通:
System::Int32 myInt = 0;
但是这个(尽管毫无意义的例子)会起作用:
using System = global::System;
System::Int32 myInt = 0;