Bir özniteliğin kullanımını belirli sınıfıyla sınırlamak için AttributeUsage gibi bir şeye sahip olmak (yalnızca herhangi bir sınıf olacak AttributeTargets.Class değil) mümkün mü?C# Belirli Sınıflar için ÖznitelikSayı
9
A
cevap
11
Hayır. Çerçevede bunu yapacak hiçbir şey yoktur.
Ancak, kodunun kullandığı kod, sınıfın türünün belirli bir sınıf (veya alt sınıflarından biri) olduğundan emin olmak için her zaman kontrol edebilir.
Öznitelikler, tek başlarına, hiçbir şey yapmazlar - bu aynı etkiye sahip olmalıdır.
0
Öznitelikteki tüm verileri yalnızca söz konusu sınıfı alan ve verilen özniteliğin olup olmadığını kontrol eden bir genel statik yöntemle erişilebilir yapın.
14
Bunu gerçekleştirmenin bir yolu, belirli bir sınıfa erişiminiz varsa, Marc Gravel tarafından detaylandırılmıştır: http://marcgravell.blogspot.com/2009/06/restricting-attribute-usage.html. Temel olarak, özniteliği, belirli türde korumalı bir sınıf olarak uygularsınız. Daha sonra sadece bu tipte kullanılabilir.
İlgili konular
- 1. Sınıflar ve alt sınıflar için yazdırma
- 2. C++ typename ve iç sınıflar
- 3. C# Arabirim ve temel sınıflar
- 4. Eclipse'de otomatik tamamlamadan belirli sınıflar nasıl kaldırılır
- 5. C# - Kullanım OfType ve kalıtsal görmezden sınıflar
- 6. EventHandlers and C# Sınıflar destructor/Dispose
- 7. C++ statik sınıflar ve shared_ptr bellek sızıntıları
- 8. Python: Sınıflar için doctest'leri kullanma
- 9. Belirli bir aralık için dizi değerlerini C#
- 10. WordPress - Belirli bir dönem döngüsüne özel sınıflar ekleme
- 11. Sınıflar için aşırı yüklenme 'unsigned' belirteci
- 12. Tanımsız sınıflar
- 13. C#, belirli bir kelime
- 14. Proguard, tüm başvurulan sınıflar
- 15. JAXB ve soyut sınıflar
- 16. çoklu sınıflar?
- 17. Özet Mühürlü Sınıflar
- 18. CSS aracılığıyla elemanlara sınıflar atama
- 19. Statik sınıflar neden mühürlendi?
- 20. JQuery'de sözde sınıflar için CSS stilleri erişin?
- 21. Şablon olmayan sınıflar için mükemmel yönlendirme
- 22. Scalaz Tip Apache Spark için Sınıflar RDD'ler
- 23. İç/anonim sınıflar için en iyi yöntem
- 24. Özel oluşturulan sınıflar için intellisense nasıl edinilir?
- 25. Sınıflar ve üstbilgileri anlamak için yordam
- 26. Storyboard'da yeni View Controller için sınıflar
- 27. Sınıflar tarafından kastedilen nesnelerin nesnesidir?
- 28. Sınıflar ve arayüzler nasıl karşılaştırılır?
- 29. istenmeyen ad yeni sınıflar Visual Studio 2008 C# '
- 30. İç sınıflar nereye koyulur?