Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Vilka förändringar gjordes i MVVMCross 6.2.2 som kan påverka undantag från NULL -referens


Vilka förändringar gjordes i MVVMCross 6.2.2 som kan påverka undantag från NULL -referens


I MVVMCross version 6.2.2 gjordes flera förändringar som kan påverka förekomsten av NULL -referensundantag (NRE). Här är de viktigaste modifieringarna:

1. Initialisering av IOC -leverantör: En betydande förändring hänför sig till initialiseringen av `mvx.iocprovider '. Före den här versionen, om IOC -leverantören inte inrättades korrekt, kan det leda till undantag för nollreferenser när man konstruerar kommandon som `MVXASYNCCOMMAND` i sikte -modeller. Konstruktören för `MVXCommandBase 'uppdaterades för att inkludera en fallback -mekanism som använder` MVXWeakCommandHelper' om IOC -leverantören är noll eller inte lyckas lösa en instans av `iMVXCommandHelper '. Denna förändring syftar till att mildra NRE genom att säkerställa att kommandon fortfarande kan fungera även om IOC -leverantören inte är helt initialiserad [1].

2. Felhanteringsförbättringar: Hanteringen av potentiella nollreferenser har förbättrats i olika delar av ramverket. Till exempel har kontroller lagts till för att säkerställa att vissa egenskaper och metoder inte försöker dereraference nollobjekt. Detta är särskilt relevant för komponenter som förlitar sig på externa tjänster eller beroenden som kanske inte alltid är tillgängliga [1].

3. Justeringar av enhetstestning: Användare rapporterade problem med enhetstester som misslyckades på grund av undantag från NULL -referens när de använder `MVXASYNCCOMMAND '. Rekommendationen gjordes att uttryckligen initialisera IOC -leverantören i enhetstestprojekt. Denna justering hjälper till att säkerställa att alla beroenden löses korrekt innan tester genomförs och därmed minskar sannolikheten för att möta NRE under testningsscenarier [1].

4. Allmänna felfixar: Släppanteckningarna för MVVMCross 6.2.2 indikerar att ett antal buggar relaterade till undantag från nollreferens behandlades, även om specifika detaljer om varje fix inte var omfattande dokumenterad. Dessa korrigeringar kan inkludera justeringar över olika komponenter i ramverket där NRE tidigare rapporterades [10].

Sammantaget fokuserar dessa förändringar i MVVMCross 6.2.2 på att förbättra stabiliteten och tillförlitligheten för kommandoutförande och beroendeupplösning, som är kritiska områden där NULL -referensundantag kan uppstå. Genom att förbättra initialiseringsprocessen och felhanteringen kan utvecklare förvänta sig en minskning av sådana undantag i sina applikationer byggda inom denna ram.

Citeringar:
]
[2] https://www.mvvmcross.com/mvvmcross-8.0.0- release/
[3] https://pvs-studio.com/en/blog/posts/csharp/1049/
[4] https://www.youtube.com/watch?v=uzsdzok4un8
[5] https://github.com/mvvmcross/mvvmcross/releases
[6] https://visualstudiomagazine.com/articles/2018/05/08/build-a-xamarin.forms-application.aspx
[7] https://github.com/mvvmcross/mvvmcross/issues/3310
[8] https://github.com/mvvmcross/mvvmcross/blob/develop/changelog.md
[9] https://www.reddit.com/r/dotnetmaui/comments/1bpfvky/cannot_pair_to_mac_null_reference_exception/
[10] https://www.mvvmcross.com/mvvmcross-6.2.0-release/