C# 什么';跳过对结构的完整命名空间引用的最佳方法是什么?
我想声明一个颜色数组,用作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=新系统.绘图.颜色[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}}; spriteArray=新系统.绘图.颜色[2,2] {{红色,蓝色}, {蓝色,红色}}; 是吗?在顶部声明它C# 什么';跳过对结构的完整命名空间引用的最佳方法是什么?,c#,namespaces,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=新系统.绘图.颜色[2,2]{ {System.Drawing.Color.Red,System.Drawing.C
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}};
在上面申报
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}};
在代码文件的顶部包含使用指令的
:
using System.Drawing;
那就是:
spriteArray = new Color[2,2]
{
{ Color.Red, Color.Blue },
{ Color.Blue, Color.Red }
};
在代码文件的顶部包含使用指令的:
using System.Drawing;
那就是:
spriteArray = new Color[2,2]
{
{ Color.Red, Color.Blue },
{ Color.Blue, Color.Red }
};
完全删除这些名称的唯一方法是将它们作为本地字段、变量或常量添加。由于Color
不是enum
,因此不能使用const
方法,但可以执行以下操作:
using System.Drawing;
//...
private static readonly Color Red = Color.Red, Blue = Color.Blue;
//...
spriteArray = new[,] {
{ Red, Blue },
{ Blue, Red },
};
完全删除这些名称的唯一方法是将它们作为本地字段、变量或常量添加。由于Color
不是enum
,因此不能使用const
方法,但可以执行以下操作:
using System.Drawing;
//...
private static readonly Color Red = Color.Red, Blue = Color.Blue;
//...
spriteArray = new[,] {
{ Red, Blue },
{ Blue, Red },
};
?名称空间为红色,指令为蓝色;把它们贴在上面;少给你打字我在这里看不到任何enum
<代码>颜色
不是正确的枚举
@SriramSakthivel,但分辨率也将表现相同way@SriramSakthivel-你说得对,我不确定我在想什么。?名称空间是红色的,指令是蓝色的;把它们贴在上面;少给你打字我在这里看不到任何enum
<代码>颜色
不是正确的枚举
@SriramSakthivel,但分辨率也将表现相同way@SriramSakthivel-你说得对,我不确定我在想什么。@MarcGravel:我想这些是在某处定义的常量。@SriramSakthivel:可能是某个自定义的、特定于应用程序的颜色,称为红色或蓝色,没有必要完全是红色和蓝色。但是@Tigran如果你提到它会很好,OP似乎没有这样的常数。他在要求这样一件事。@SriramSakthivel:OP说他的问题是避免每次都写长类型定义,所以看起来他能够编译和运行他的程序。他想找到一种方法来写更少的代码。是的,OP要求将系统.Drawing.Color.Red
减少到Red
。通过使用系统图纸添加
您可以将其减少为颜色。红色
而不是红色
。但在您的答案中,您显示为{RED,BLUE}
,要使其正常工作,您需要名为RED
,BLUE
的同一类中的字段或常量。我看到你的答案中缺少了这一点(尽管很明显,OP可能知道也可能不知道)。明白了吗?@MarcGravel:我想这些都是在某个地方定义的常量。@SriramSakthivel:可能是一些自定义的、应用程序特定的颜色,称为红色或蓝色,没有必要完全是红色和蓝色。但是@Tigran如果你提到它就好了,OP似乎没有这样的常量。他在要求这样一件事。@SriramSakthivel:OP说他的问题是避免每次都写长类型定义,所以看起来他能够编译和运行他的程序。他想找到一种方法来写更少的代码。是的,OP要求将系统.Drawing.Color.Red
减少到Red
。通过使用系统图纸添加
您可以将其减少为颜色。红色
而不是红色
。但在您的答案中,您显示为{RED,BLUE}
,要使其正常工作,您需要名为RED
,BLUE
的同一类中的字段或常量。我看到你的答案中缺少了这一点(尽管很明显,OP可能知道也可能不知道)。知道了?