« Prism 8 » : différence entre les versions

De Banane Atomic
Aller à la navigationAller à la recherche
Ligne 21 : Ligne 21 :
     {
     {
         // register a singleton service
         // register a singleton service
         containerRegistry.RegisterSingleton<IMyService, IMyService>();
         containerRegistry.RegisterSingleton<IMyService, MyService>();
         // registera transient service
         // registera transient service
         containerRegistry.RegisterScoped<IMyService, MyService>();
         containerRegistry.RegisterScoped<IMyService, MyService>();

Version du 10 avril 2021 à 20:14

Links

Description

Fully open source version of Prism including MVVM, dependency injection, commands, EventAggregator, and others.
Prism 8 supports WPF, Xamarin Forms and UNO, but not Silverlight, Windows 8/8.1/WP8.1 or UWP.

Getting Started

Dependency Injection

App.xaml.cs
public partial class App
{
    protected override void RegisterTypes(IContainerRegistry containerRegistry)
    {
        // register a singleton service
        containerRegistry.RegisterSingleton<IMyService, MyService>();
        // registera transient service
        containerRegistry.RegisterScoped<IMyService, MyService>();
    }
  • singleton service: for a service which is used throughout the application and that retains its state.
  • transient service: create a new instance each time.
  • scoped service: no implementation because unlike a web application, desktop applications are dealing with a single user and not scoped user requests.