如何解决在C#中包含私有枚举的类上“使用静态”
请考虑以下内容
class Body
{
[Flags]
enum Organs { None = 0,Brain = 1,Heart = 2,Kidney = 4,Skin = 8 }
Organs damagedOrgan = Organs.Heart;
Organs currentOrgan = Organs.Kidney;
Organs favoriteOrgan = Organs.Brain;
Organs biggestOrgan = Organs.Skin;
Organs allOrgans = Organs.Heart | Organs.Kidney | Organs.Brain | Organs.Skin;
}
在某些情况下,可以这样写更干净:
using static Human.Body.Organs;
class Body
{
[Flags]
enum Organs { None = 0,Skin = 8 }
Organs damagedOrgan = Heart;
Organs currentOrgan = Kidney;
Organs favoriteOrgan = Brain;
Organs biggestOrgan = Skin;
Organs allOrgans = Heart | Kidney | Brain | Skin;
}
但是,这将产生以下错误。
错误CS0122'Body.Organs'由于其保护级别而无法访问
有什么办法可以在包含(私有)枚举的类中的using static
上使用enum
块,以避免不得不过多地命名枚举?
解决方法
using static
仅适用于可访问的成员-因此private enum
不可用。但是,这取决于您希望enum
成为私有的方式。如果您可以将其设为internal
,则可以使用。
进行课堂学习并枚举public
..
我想,如果您想让枚举保持私有状态,则可能不必太在意它的名称(因为它的作用范围有限,没有人会看到它),因此可以将Organs缩短为O并省去{ {1}}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。