(sahne, yöntemler, vs.). Bir sınıfta meta verileri çıkarmak, bağımlılık özelliklerini ayıklamak vb. Için Silverlight'ta kullanılan teknik nedir?Silverlight yansıma ASP.NET, örneğin, biz sınıfta hakkında meta alabilir bir AppDomain içinde meclisleri yansıtmak veya türünü kullanarak olabilir ile
cevap
Yansıma tam .NET Framework sağlanan API'ler bir alt kümesi ile, Silverlight bulunmaktadır.
en bariz fark Silverlight özel üyelerin üzerine yansıtamaz (veya belki kendi takım içinde can ama sınırları oldukça hızlı belirgin olacaktır) olmasıdır. Bu, çerçevenin kendisinin iç taraflarıyla uğraşmadığınızdan emin olmanız için bir güvenlik özelliğidir. Bunun dışında
(Kuşkusuz, oldukça büyük) sınırlaması, Yansıma temel olarak aynı olmalıdır. Austin söylediklerine ek olarak
, Silverlight Yansıma ile kural normal kodu aracılığıyla erişebilir ne olursa olsun yansıma yoluyla erişmek sadece olmasıdır. Yani sadece özel üyeler değil. Korunan üyeleri yalnızca sınıfın kendisinde veya herhangi bir sınıfta miras alarak yansıtabilirsiniz.
Orada API sayısız özlemdir ancak tam NET'te daha Yansıma bilgi edinme olanağı sağlar Reflection
Güvenlik Kaygıları biraz daha çalışma gerektiren bile genel olarak çoğu şeyi, mümkün olmalıdır türleri ve üyeleri hakkında ve üyelere erişmek için.
Numaralandırma türleri ve üyeleri ve bunların meta incelemek: Silverlight, aşağıdaki görevleri gerçekleştirmek için yansıma kullanabilirsiniz.
Montajları ve modülleri numaralandırın ve inceleyin.
Genel üyelere erişim.
Çağıran kodun derlemesine iç üyelere (Visual Basic'te arkadaş üyeleri) erişin. (Yansıma olarak, bu kadar montaj düzeyinde erişim adlandırılır.)
Silverlight olarak, özel türleri ve üyeleri erişmek için yansıma kullanamazsınız. Bir tür veya üyenin erişim düzeyi, statik olarak derlenmiş kodda erişmenizi engelliyorsa, yansıma kullanarak dinamik olarak erişemezsiniz.
- 1. Yansıma ile bir MemberInfo türünü alma
- 2. Veri türünü C'deki bir değişkenden alabilir miyim?
- 3. Alt sınıfta çağrılmayan meta sınıfı
- 4. Bir örneğin jenerik türünü dinamik olarak java
- 5. Yansıma API'sini kullanarak TypeScript'te dizi öğesi türünü nasıl alabilirim?
- 6. ASP.NET - AppDomain.CurrentDomain.GetAssemblies() - AppDomain yeniden başlatıldıktan sonra Assemblies eksik
- 7. C# Buddy Sınıfları/Meta Verileri ve Yansıma
- 8. Özel AppDomain oluştur ve ona derlemeler ekle
- 9. AppDomain
- 10. ASP.NET meta: resourcekey
- 11. aşağıdaki gibi ifadeler olabilir, böylece, örneğin int veya char
- 12. C# Yansıma - Koleksiyonun Genel Türünü Bulma
- 13. Winlight'lar içinde barındırılan Silverlight
- 14. mümkün 1 bir TextBlock varsa seletively Örneğin Silverlight/WPF
- 15. Silverlight'taki yansıma kısıtlamaları
- 16. symfony2 - Bir havuzda veya sınıfta birden çok bağlantı kullanarak
- 17. Silverlight türünü Microsoft AJAX'a geçirin ve parametre doğrulamasını iletin
- 18. Yine de Silverlight/XBAP
- 19. @eval ile belgeleme içinde meta programlama
- 20. GAC'ing 4.0 meclisleri
- 21. biz
- 22. Expression_Host meclisleri, sayıları
- 23. Silverlight veya WPF?
- 24. Yansıma ile java.lang.SecurityException
- 25. Bir ASP.NET web uygulamasında statik sınıfta bildirilen kaynaklar nasıl dağıtılır
- 26. byte [] to Silverlight içinde BitmapImage
- 27. Java'da Yansıma kullanarak bir Numaralandırma Sınıfı Bulma
- 28. ASP.NET bağlantı dizesi meta sözdizimi
- 29. biz
- 30. Windsor Castle benim global.axax içinde koduna sahip meclisleri
Özel üyelere yansıtabilirsiniz, ancak bunları değiştiremez veya değiştiremezsiniz. Örneğin bir FieldInfo için GetValue çağırmak için denedim ama SetValue çağrısı mümkün değildi, bir istisna atar. –