Приведение исключения в LoadApplication при использовании LightInject - PullRequest
0 голосов
/ 27 декабря 2018

Я новичок в Xamarin Forms и LightInject.

Я получаю исключение:

System.InvalidCastException: указанное приведение недействительно.

при вызове LoadApplication (новое приложение ());в MainActivity.cs

при вызове instance в качестве NavigationPage это происходит.Я попробовал MainPage = instance, и он отлично работает.Но мне нужно отправить экземпляр в виде NavigationPage

У вас есть идеи, почему это происходит?

var container = new ServiceContainer();
container.Register<WardListPage>();
container.Register<WardListViewModel>();
container.Register<WardListService>();

container.Register<PatientListViewPage>();
container.Register<PatientListViewModel>();
container.Register<PatientService>();

container.Register<PatientDetailsViewPage>();
container.Register<PatientDetailsViewModel>();

var instance = container.GetInstance<WardListPage>();

MainPage = new NavigationPage(instance); //here the issue comes

Вот Stacktrace

here is the stacktrace


Вот подробности об исключении

12-30 09: 26: 37,554 I / mon-stdout (18434): System.InvalidCastException: указанное приведение недопустимо.System.InvalidCastException: указанное приведение недопустимо.12-30 09: 26: 37.558 I / mono-stdout (18434): в Xamarin.Forms.Internals.ToolbarTracker.RegisterChildPage (страница Xamarin.Forms.Page) [0x0001c] в <3a9c335d80a748a29a8f8588acmsa.in-intern: in-in-in-if>.ToolbarTracker.RegisterChildPage (страница Xamarin.Forms.Page) [0x0001c] в <3a9c335d80a748a29a8f8588acbed83f>: 0 в Xamarin.Forms.Internals.EnumerableExtensions.ForEach [T] [действие] Tier [класс].) [0x00010] в <3a9c335d80a748a29a8f8588acbed83f>: 0 12-30 09: 26: 37.560 I / mon-stdout (18434): в Xamarin.Forms.Internals.EnumerableExtensions.ForEach [T] (System.Collections.Gumeic 10.Geric. 10Inger. 10E* 1 [T] action) [0x00010] в <3a9c335d80a748a29a8f8588acbed83f>: 0 12-30 09: 26: 37.561 I / mono-stdout (18434): в Xamarin.Forms.Internals.ToolbarTracker.TrackTarget (Xamarin.For) [0x00041] в <3a9c335d80a748a29a8f8588acbed83f>: 0 в Xamarin.Forms.Internals.ToolbarTracker.TrackTarget (страница Xamarin.Forms.Page) [0x00041] в <3a9c335d80a748a088af:Forms.Internals.ToolbarTracker.set_Target (значение Xamarin.Forms.Page) [0x00025] в <3a9c335d80a748a29a8f8588acbed83f>: 0 12-30 09: 26: 37.563 I / mono-stdout (18434): в Xamarin.set_Target (значение Xamarin.Forms.Page) [0x00025] в <3a9c335d80a748a29a8f8588acbed83f>: 0 в Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer.OnElementChanged.) [0x000fe] в <02db0bcb95874f4db06b80f38eac4adf>: 0 в FormsControls.Droid.AppCompatAnimationNavRenderer.OnElementChanged (Xamarin.Forms.Platform.Android.ElementChangedEventArgs 1[TElement] e) [0x00000] in <9cf8e9b117d44fb7a184e024868cb7a5>:0 12-30 09:26:37.567 I/mono-stdout(18434): at FormsControls.Droid.AppCompatAnimationNavRenderer.OnElementChanged (Xamarin.Forms.Platform.Android.ElementChangedEventArgs 1 [TElement] е) [0x00000] в <9cf8e9b117d44fb7a184e024868cb7a5>: 0 в Xamarin.Forms.Platform.Android.VisualElementRenderer 1[TElement].SetElement (TElement element) [0x000dd] in <02db0bcb95874f4db06b80f38eac4adf>:0 12-30 09:26:37.569 I/mono-stdout(18434): at Xamarin.Forms.Platform.Android.VisualElementRenderer 1 [TElement] .SetElement (элемент TElement) [0x000dd] в <02db0bcb95874f4db06b80f38eac4adf>: 0 12-30 09: 26: 37,571 I / mono-stdout для Xa (184) для Xa.Platform.Android.VisualElementRenderer 1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00027] in <02db0bcb95874f4db06b80f38eac4adf>:0 at Xamarin.Forms.Platform.Android.VisualElementRenderer 1 [TElement] .Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (элемент Xamarin.Forms.VisualElement) [0x00027] в <02db0bcb95874f4db06b80f38eac4adf>: 0 12-30 09: 26: 37.573 I / mono-stdout (18434). Платформа для печати:Элемент Xamarin.Forms.VisualElement, контекст Android.Content.Context) [0x0001f] в <02db0bcb95874f4db06b80f38eac4adf>: 0 в контексте Xamarin.Forms.Platform.Android. Платформа[0x0001f] в <02db0bcb95874f4db06b80f38eac4adf>: 0 12-30 09: 26: 37.575 I / mono-stdout (18434): в Xamarin.Forms.Platform.Android.AppCompat.Platform.AddChild, XSmarin.Логический макет) [0x00009] в <02db0bcb95874f4db06b80f38eac4adf>: 0 в Xamarin.Forms.Platform.Android.AppCompat.Platform.AddChild (Xamarin.Forms.Page странице, System.Boolean макета) [0x00009] в <02db0bcb95874f4db06b80f38eac4adf>: 012-30 09: 26: 37.576 I / mono-stdout (18434): в Xamarin.Forms.Platform.Android.AppCompat.Platform.SetPageInternal (Xamarin.Forms.Page newRoot) [0x00096] в <02db0bcb95874f4: 0ab8080: 0806.Forms.Platform.Android.AppCompat.Platform.SetPageInternal (Xamarin.Forms.Page newRoot) [0x00096] в <02db0bcb95874f4db06b80f38eac4adf>: 0 в Xamarin.) [0x00087] в <02db0bcb95874f4db06b80f38eac4adf>: 0 в Xamarin.Forms.Platform.Android.FormsAppCompatActivity.InternalSetPage (страница Xamarin.Forms.Page) [0x00052 37b: 080bbf:-stdout (18434): в Xamarin.Forms.Platform.Android.AppCompat.Platform.SetPage (Xamarin.Forms.Page newRoot) [0x00087] в <02db0bcb95874f4db06b80f38eac4adf>: 0 -30 -80-й /(18434): в Xamarin.Forms.Platform.Android.FormsAppCompatActivity.InternalSetPage (страница Xamarin.Forms.Page) [0x00052] в <02db0bcb95874f4db06b80f38eac4adf>: 0 вXamarin.Forms.SetMainPage () [0x0000c] в <02db0bcb95874f4db06b80f38eac4adf>: 0 в Xamarin.Forms.Platform.Android.FormsAppCompatActivity.LoadApplication (приложение Xamarin.Forms.Application.Ablication 370: 0fbb0: 030bff)/ mono-stdout (18434): в Xamarin.Forms.Platform.Android.FormsAppCompatActivity.LoadApplication (приложение Xamarin.Forms.Application) [0x0026f] в <02db0bcb95874f4db06b80f38eac4adf.DoA.ObDirect0.Bundle bundle) [0x0002f] в C: \ Users \ madura.d \ source \ repos \ DipsDemoXaml \ DipsDemoXaml \ DipsDemoXaml.Android \ MainActivity.cs: 22 12-30 09: 26: 37.585 I / mono-stdout (18434):в DipsDemoXaml.Droid.MainActivity.OnCreate (комплект Android.OS.Bundle) [0x0002f] в C: \ Users \ madura.d \ source \ repos \ DipsDemoXaml \ DipsDemoXaml \ DipsDemoXaml.Android \ MainActivity.cs: 22 * ​​1039 *

...