跳过为结构提供完整命名空间引用的最佳方法是什么?

时间:2014-04-16 06:53:21

标签: c# namespaces

我想声明一个颜色数组,用作8位样式的精灵。

spriteArray = new System.Drawing.Color[2,2] {
{System.Drawing.Color.Red, System.Drawing.Color.Blue},
 {System.Drawing.Color.Blue, System.Drawing.Color.Red}
};

这很痛苦,看起来每次写出命名空间路径都很冗长 - 将它减少到最好的方法是什么:

spriteArray = new System.Drawing.Color[2,2]
{{RED, BLUE},
 {BLUE, RED}};

3 个答案:

答案 0 :(得分:4)

在代码文件的顶部添加using指令:

using System.Drawing;

然后就是:

spriteArray = new Color[2,2]
{
    { Color.Red, Color.Blue },
    { Color.Blue, Color.Red } 
};

答案 1 :(得分:3)

声明它在顶部?

using System.Drawing;

...
spriteArray = new Color[2,2]
  {{Color.Red, Color.Blue},
 {Color.Blue, Color.Red}};

或者如果存在名称冲突,如果有另一个名为Color的类,您可以:

using SysDraw = System.Drawing;
 ...
spriteArray = new SysDraw.Color[2,2]
  {{SysDraw.Color.Red, SysDraw.Color.Blue},
 {SysDraw.Color.Blue, SysDraw.Color.Red}};

答案 2 :(得分:1)

删除名称​​完全的唯一方法是将它们添加为本地字段,变量或常量。由于Color不是enum,因此您无法使用const方法,但您可以这样做:

using System.Drawing;
//...
private static readonly Color Red = Color.Red, Blue = Color.Blue;
//...
spriteArray = new[,] {
    { Red, Blue },
    { Blue, Red },
};