enum
'un yuvalanmasının C# içinde mümkün olmadığını duydum. Daha sonra aşağıdaki yapıyı bir sınıf hiyerarşisine veya başka bir şeye dönüştürebilirsiniz. Bu yüzden sınıf olarak hareket etmek istediğiniz bir enum
iç içe enum C# ve sınıfları
cevap
iç içe sınıflar ve const alanlar
enum kendi başına bir özelliği vardır sınıfsal yapısı olarak hirerchy kullanabilirsinizclass Cat1
{
public const int Public = 1;
public class Private
{
public const int Abc = 2;
public const int Mno = 3;
public const int Pqr = 4;
}
}
'un sonraki sürümlerinde uygulamak için bir öneri (roslyn github projesinde) yaptım. sınıfları statik olarak işaretleyin. – ver
Değişkene dikkat etmek sadece bir "int" olurdu, bu yüzden başka bir yerden geçersiz bir değer verilebilir. –
her sınıf
public class Cat1
{
public enum Publicpart
{
Xyz
}
private enum Privatepart
{
Abc, Mno, Pqr
}
}
o zaman bu
gibi diyebilirsinCat1.Publicpart.Xyz
veya özel acces
varsaCat1.Privatepart.Abc
ilk enum kategorisi bana "görünürlük" kavramının bir çeşit temsil ettiği İkinci kategori ise çeteleler üzerinden bu sorunları çözmek istiyorsanız tekrar düşünmek gerekir sadece "public" görünürlüğüne sahip örnekler için geçerlidir.
Ne böyle bir şey ile sorununuzu çözme konusunda: Şimdiye kadar ne denedim
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
}
- 1. İç içe geçmiş sınıfları C++'da koruyabilir misiniz?
- 2. Referans iç içe enum türü XAML'den
- 3. Grep İç içe ve
- 4. Java Enum Temel Sınıfları
- 5. C++ iç içe şablon hatası
- 6. C# + EntityFramework: iç içe JSON
- 7. iyi uygulamalar - olmayan iç içe,/iç içe ve doğrulamalar
- 8. C# "Enum" yöntemi ve "enum" parametresi
- 9. Swift: İç içe enum türünde boş dizi oluşturulamıyor
- 10. Yalnızca dize içeren iç içe enum türünü alma?
- 11. Python sınıfları içe aktarılıyor
- 12. İç içe geçme Sipariş
- 13. Büyük O - İç içe
- 14. İç içe geçmiş C++ şablonlarında başvuru türü
- 15. C# iç içe geçmiş yöntemde verim
- 16. C# UserControl TabControl içinde iç içe, accessTabControl
- 17. C iç içe geçmiş yapıların dizisi dizisi
- 18. Döngü VE C# enum Verilen
- 19. Bash iç içe tırnak ve eval
- 20. iç içe excel formül
- 21. linq iç içe geçmiş liste
- 22. C# enum
- 23. İç içe tekrarlayıcı
- 24. Recursive/iç içe kilitleme
- 25. Değişken iç içe döngüler
- 26. Regex İç içe parantezler
- 27. xmldocument ve iç içe geçmiş şemalar
- 28. C++ enum
- 29. Restkit Eşleme İç İçe Dizilim
- 30. İç içe tekrarlayıcıda ItemDataBound
? çalışıyor mu ? eğer hayırsa, ne yapması gerekiyor? – Alex
Bir numara mı yoksa bir numara mı var? Yukarıdakiler, bir numaradan daha sayısız tarafından modellenecek bir şeye benzemektedir. –
Bu soru eskidir, ancak bu özelliği C# http://github.com/dotnet/roslyn/issues/13192 – lmcarreiro