Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 17153|Yanıt: 0

[İletişim] C# enumeration değeri artırıcı özellik tanımı

[Bağlantıyı kopyala]
Yayınlandı 28.01.2019 10:48:27 | | |
Bir enum tipinin her değerine, baskı veya görüntüleme için bir özellik aracılığıyla bir dizi açıklaması ekler.

Baskı özelliklerini özelleştirin

Baskı özelliği tanımı basittir ve yalnızca bir dizi özniteliği içerir.

Bir enum tanımlayın

Birinci ve iki numaralandırma türleri her ikisi de baskı özelliği ekler.

Baskı karakteristik değerini elde etmek için enum extension yöntemini ekleyin


  • Enum var alanName = Enum dosyalanmış değerine karşılık gelen enum dizisini alın. GetName(t_type, t);
  • Dosyalanmış var attributes = typeof(TestEnum) ile eşleşen tüm özel öznitelik setlerini alın. GetField(fieldName). GetCustomAttributes(yanlış);
  • EnumDisplayAttribute property var enumDisplayAttribute = attributes alın. FirstOrDefault(p => p.GetType(). equals(typeof(EnumDisplayAttribute))) olarak EnumDisplayAttribute olarak kullanılır;
  • Eğer EnumDisplayAttribute özelliği varsa, Display değerini döndürür, aksi takdirde dosyalanmış diziyi return enumDisplayAttribute == null ? döndürür. alan Adı : enumDisplayAttribute.Display;


Kullanım örnekleri

Çıktı:

Bir  
Üç
Genişletilmiş Talimatlar

Bu yöntem, enum tipine sadece açıklayıcı özellikler eklemekle kalmaz, aynı zamanda özel tipe özel özellikler de ekleyebilir.
Yansımalar kullanılırken, GetField (dizi adı), GetMethod (dizi adı), GetProperty (dizi adı) vb. için dizeler gereklidir
Özel tip özniteliği veya metod adı dizisi alırken nameof kullanabilirsiniz







Önceki:Pazartesi, 28 Ocak Xie You Sabah Gönderisi
Önümüzdeki:c#'da açılı parantezlerin kullanımı, örneğin List<int>
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com