2014-07-05 8 views
5

Pracuję nad projektem Android z Xamarin i po drodze, tak jak ćwiczenia postanowiłem napisać własny prosty kontener IoC. Teraz przychodzę do decydowania, czy muszę wstrzyknąć jakieś zależności dla moich wstrzykniętych instancji. Patrzę w górę Type.GetConstructors, mówi, że jest dostępny w projektach PCL, ale nie mogę uzyskać GetConstruktorów.GetConstructors w bibliotece PCL Xamarin

Mam System.Reflection w mojej usłudze i jeśli tworzę bibliotekę Android, mam GetConstructor/s dostępne dla mnie. MSDN documentation zdecydowanie mówi: jest w PCL. Być może to nie ja całkowicie rozumiem, co oznacza PCL w ekosystemie Xamarin, ale myślałem, że to oznacza, że ​​będzie wspierany.

Moje pytanie brzmi: czy brakuje mi czegoś lub czy jest to rzeczywiście poprawne?

UPDATE

Dla innych, którzy chcą zobaczyć, jak to zrobiłem;

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

Odpowiedz

10

Xamarin używa tych samych profili PCL że Microsoft wydała, ale nie wszystkie profile PCL wspierać System.Type.GetConstructors().

Prawdopodobnie będziesz musiał zrobić coś takiego (trudno powiedzieć na pewno, ponieważ każdy profil PCL ma różne ograniczenia System.Reflection):

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

podziękowania, że ​​dostaje mi konstruktorów. – Hammerstein