ile kaydedildiğinde, bir derlenmiş sınıfın çözülmesi Prism.Forms (https://github.com/joacar/Prism/tree/pr-517) 'da DryIoc için destek oluşturmaya çalışmak ve bir senaryoyu tökezlemek için nasıl çalışacağımı başaramam.DryIoc - Temel sınıf bir anahtar adı
Uzun bir öyküyü kısaltmak için sorunlar şu şekildedir: Prism.DryIoc.Forms uygulamasında yeni bir uygulama oluştururken, PrismApplicationBase uygulamasının bir alt sınıfını oluşturur ve belirli yöntemleri geçersiz kılar, bunlardan biri RegisterTypes'dir.
kullanıcı navigasyon sınıf DryIocPageNavigationService
devreye girer sırasında navigasyon
container.RegisterPageForNavigation<MockView>();
// Extension method implementation
public static void RegisterPageForNavigation<TPage>(this IContainer container)
where TPage : Xamarin.Forms.Page
{
container.Register<TPage>(typeof(TPage).FullName);
}
için bir görünüm kayıt ve burada protected Page CreatePage(string name) { ... }
geçersiz kılmak için bir yöntem vardır edebilirsiniz denilen sorunu gelince: Şu anda biz sadece biliyoruz IContainer kullanarak 'name' verilen Page
bir uygulamayı çözmek için. öyle
public static void RegisterPageForNavigation<TPage>(this IContainer container)
where TPage : Xamarin.Forms.Page, new()
{
container.Register<Page>(made:
Made.Of(() => new TPage()),serviceKey:typeof(TPage).FullName);
}
uzatma yöntemi uygulayan eğer
protected Page CreatePage(string name)
{
// Always returns null
return _container.Resolve<Page>(name, IfUnresolved.DefaultOrNull);
}
Ancak, sayfa çözüme kavuşturulacağını. Ancak bu (bazı zeki/istenmeyen hack veya yapmak)
Hmm kısa hikaye yapmak varsayılan boş bir yapıcı olması TPage
sınırlar almak oldukça uzun :)
Saygılarımızla
yerine RegisterMany kullanmak Register
Bir çekicilik gibi çalışır, teşekkürler! – joacar
Bu konuda bir soru açmak üzereydim, teşekkürler! – MusuNaji