Dil

Windows Store Uygulamaları için .NET Framework'te Yansıma

.NET Framework, Windows 8.x Store uygulamalarında kullanılmak üzere bir dizi yansıma türü ve üye içerir. Bu türler ve üyeler, tam .NET Framework'te ve Windows Store uygulamaları için .NET'te kullanılabilir. Bu makalede, bunlar ile .NET Framework 4 ve önceki sürümlerdeki karşılıkları arasındaki önemli farklar açıklanmaktadır.

Windows 8.x Store uygulaması oluşturuyorsanız, Windows 8.x Store uygulamaları için .NET'deki yansıma türlerini ve üyeleri kullanmanız gerekir. Bu türler ve üyeler masaüstü uygulamalarında kullanılmak üzere kullanılabilir ancak gerekli değildir, böylece her iki uygulama türü için de aynı kodu kullanabilirsiniz.

TypeInfo ve Bütünleştirme Yükleme

Windows 8.x Store uygulamaları için .NET sınıfı, TypeInfo .NET Framework 4 Type sınıfının bazı işlevlerini içerir. Nesne Type bir tür tanımına başvuruyu, nesne ise TypeInfo tür tanımının kendisini temsil eder. Bu, çalışma zamanı ortamın başvurduğu derlemeyi yüklemesi gerekmeksizin nesneleri Type yönetmenizi sağlar. İlişkili TypeInfo nesneyi almak, derlemeyi yüklemeye zorlar.

TypeInfo, Type'de kullanılabilen üyelerin çoğunu içerir ve Windows 8.x Store uygulamalarına yönelik .NET'teki yansıma özelliklerinin çoğu, TypeInfo nesnelerinden oluşan koleksiyonlar döndürür. TypeInfo nesnesinden bir Type nesnesi almak için GetTypeInfo yöntemini kullanın.

Sorgu Yöntemleri

Windows 8.x Store uygulamaları için .NET'de, dizi döndüren yöntemler yerine koleksiyonları döndüren IEnumerable<T> yansıma özelliklerini kullanırsınız. Yansıma bağlamları, büyük derlemeler veya türler için bu koleksiyonların yavaş geçişini uygulayabilir.

Yansıma özellikleri, devralma ağacından geçiş yerine yalnızca belirli bir nesnede bildirilen yöntemleri döndürür. Ayrıca, filtreleme için BindingFlags parametrelerini kullanmazlar. Bunun yerine, döndürülen koleksiyonlarda LINQ sorguları kullanılarak kullanıcı kodunda filtreleme gerçekleştirilir. Çalışma zamanı ile (örneğin, sonucu typeof(Object) olarak) kaynaklanan yansıma nesneleri için, devralma ağacını gözden geçirme, RuntimeReflectionExtensions sınıfının yardımcı yöntemleri kullanılarak en iyi şekilde gerçekleştirilir. Özelleştirilmiş yansıma bağlamlarındaki nesne tüketicileri bu yöntemleri kullanamaz ve devralma ağacı boyunca kendileri geçiş yapmak zorundadır.

Kısıtlamalar

Windows 8.x Store uygulamasında bazı .NET Framework türlerine ve üyelerine erişim kısıtlanır. Örneğin, MethodInfo nesnesini kullanarak Windows 8.x Store uygulamaları için .NET'e dahil edilmeyen .NET Framework yöntemlerini çağıramazsınız. Ayrıca, Windows 8.x Store uygulaması bağlamında güvenli kabul edilmeyen belirli türler ve üyeler ile WindowsRuntimeMarshal ve Marshal üyeleri engellenir. Bu kısıtlama yalnızca .NET Framework türlerini ve üyelerini etkiler; kodunuzu veya üçüncü taraf kodunuzu normalde yaptığınız gibi çağırabilirsiniz.

Ayrıca bakınız