我现在正在一个C#程序中工作,其中有一个类("GlobalConstants")只有全局常量,例如错误消息和返回值.其中大多数都是大枚举类型,因此代码中有很多地方我必须键入或读取看起来像这样的行...
case GlobalConstants.SubunitAssemblyFailureEnums.FOD_ERROR:
Run Code Online (Sandbox Code Playgroud)
所以我很乐意能够用简短的东西来缩写限定词,所以就是这样...
case gsf.FOD_ERROR:
Run Code Online (Sandbox Code Playgroud)
有没有办法在C#中使用命名空间或类型别名?我试过了
using gsf = GlobalConstants.SubunitAssemblyFailureEnums;
Run Code Online (Sandbox Code Playgroud)
...但是编译器只是说"GlobalConstants.SubunitAssemblyFailureEnums是'类型',它在给定的上下文中无效"
编辑: 答案...是我的安排错了.我的文件结构如下...
using System;
using System.Collections;
using System.ComponentModel;
namespace ****
{
class ****
{
method*** { }
method*** { }
... etc...
} //end class
} // end namespace
Run Code Online (Sandbox Code Playgroud)
我尝试它的第一个地方是在命名空间指令之上,另一个是"使用".编译器不喜欢这样.然后我在课堂上试了一下,也不喜欢那样.但是我让它在命名空间指令和类定义之间工作得很好
using如果包含整个命名空间GlobalConstants(例如,添加别名以供DayOfWeek使用),则该语句应该有效:
using dow = System.DayOfWeek;
Run Code Online (Sandbox Code Playgroud)
你把它放在文件的顶部了吗?也许它认为你正试图将这种using()模式用于一次性物体