C#中使用枚举时如何避免反复重复枚举类型名称?
问题解答
C# 6.0及更高版本原生支持你要的简化效果,不需要额外实现类似with的语法块,用**using static静态导入指令**就可以实现。
具体实现步骤
- 首先在代码文件的头部添加导入语句,把你的枚举类型静态导入:
// 替换成PokerCard实际所在的命名空间 using static YourNamespace.PokerCard;
- 导入之后,整个文件范围内都可以直接写枚举值,不需要加
PokerCard前缀,你的代码可以直接简化为:
PokerHand hand = new(HeartAce, HeartKing, HeartQueen, HeartJack, HeartTen);
其他可选方案
如果你不想把枚举导入整个文件,避免命名冲突,也可以选择更轻量化的别名方案:
- 在文件头部加枚举别名:
using PC = YourNamespace.PokerCard;
- 之后可以把代码简化为:
PokerHand hand = new(PC.HeartAce, PC.HeartKing, PC.HeartQueen, PC.HeartJack, PC.HeartTen);
注意:C#目前不支持你举例的块级别的
with导入语法,using static的作用范围是整个代码文件。
内容的提问来源于stack exchange,提问作者Romulus Urakagi Ts'ai
相关产品推荐
相关产品推荐

