[英]nested enum in c# and classes
我聽說在C#中無法enum
。 那么如何將以下結構轉換為類層次結構或其他內容。 所以我希望課程充當enum
嵌套類和const字段
class Cat1
{
public const int Public = 1;
public class Private
{
public const int Abc = 2;
public const int Mno = 3;
public const int Pqr = 4;
}
}
public class Cat1
{
public enum Publicpart
{
Xyz
}
private enum Privatepart
{
Abc, Mno, Pqr
}
}
然后你就可以這樣稱呼它
Cat1.Publicpart.Xyz
或者如果你有私人訪問
Cat1.Privatepart.Abc
你可以使用hirerchy作為類結構,每個類都有自己的枚舉屬性
如果你想通過枚舉解決這個問題,你應該重新考慮,因為第一個枚舉類別向我表示某種“可見性”概念,而第二個類別僅對具有可見性“公共”的實例有效。
用這樣的方法解決你的問題怎么樣:
public enum Visibility
{
Public,
Private
}
public abstract class VisibilityState
{
public Visibility Visibility { get; private set; }
protected VisibilityState(Visibility visibility)
{
Visibility = visibility;
}
}
public class PublicVisibilityState : VisibilityState
{
public PublicVisibilityState() : base(Visibility.Public) { }
}
public class PrivateVisibilityState : VisibilityState
{
public PrivateVisibilityState() : base(Visibility.Private) { }
public OtherEnum OtherEnumState { get; set; }
}
public enum OtherEnum
{
Abc, Mno, Pqr
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.