2014-07-05 34 views
5

Xamarin ile bir android projede çalışıyorum ve aynı zamanda bir egzersiz olarak kendi basit IoC kapsayıcımı yazmaya karar verdim. Şimdi, enjekte ettiğim örnekler için herhangi bir bağımlılık enjekte etmem gerekip gerekmediğine karar verdim. Tip.GetConstructors'ı araştırıyorum, PCL projelerinde mevcut olduğunu söylüyor, ancak GetConstructor'ları elde edemiyorum.Xamarin PCL kitaplığında GetConstructors

Kullanımlarımda System.Reflection var ve bir Android kitaplığı oluşturursam, GetConstructor/s kullanabiliyorum. MSDN documentation kesinlikle PCL'de olduğunu söylüyor. Belki de bu, PCL'nin Xamarin ekosisteminde ne anlama geldiğini tam olarak anlamıyor, ama bunun destekleneceğini kastettim.

Yani, sorum şu ki, bir şey mi eksik veya bu gerçekten doğru mu?

GÜNCELLEME bunu nasıl yaptığını görmek isteyen herkes için

;

https://github.com/tbd-develop/simpletypeprovider

cevap

10

Xamarin Microsoft yayınladı aynı PCL profillerini kullanır, ancak tüm PCL profiller System.Type.GetConstructors destekleyen(). (Her PCL profil farklı System.Reflection sınırlamaları vardır çünkü, kesin söylemek zor)

Muhtemelen böyle bir şey yapmak gerekir:

var info = type.GetTypeInfo(); 
foreach (var ctor in info.DeclaredConstructors) { 
    // find the .ctor you want... 
} 
+0

Teşekkür, bana Kurucular alır. – Hammerstein