/// <summary> /// Constructor. /// </summary> /// <param name="messengerService"> The messenger service. </param> /// <param name="messageFactory"> The message factory. This cannot be null. </param> public LocalisationServiceSingleton( [NotNull] IMessengerService messengerService, [NotNull] ILocalisationMessageFactory messageFactory) : this( messengerService, messageFactory, new Dictionary <string, int>(1)) { }
/// <summary> /// Constructor. /// </summary> /// <exception cref="ArgumentNullException"> Thrown when one or more required arguments are null. </exception> /// <param name="messengerService"> The messenger service. </param> /// <param name="messageFactory"> The message factory. This cannot be null. </param> /// <param name="resourceFiles"> The resource files. This may be null. </param> public LocalisationServiceSingleton( [NotNull] IMessengerService messengerService, [NotNull] ILocalisationMessageFactory messageFactory, [NotNull] IDictionary <string, int> resourceFiles) { _messengerService = messengerService ?? throw new ArgumentNullException(nameof(messengerService)); _messageFactory = messageFactory ?? throw new ArgumentNullException(nameof(messageFactory)); _resourceFiles = resourceFiles ?? throw new ArgumentNullException(nameof(resourceFiles)); _languages = new ObservableCollection <ILanguageLookup>(); _localisedLanguages = new Dictionary <LanguageEnum, string>(9); _languageDictionary = new Dictionary <LanguageEnum, string>(9); Languages = new ReadOnlyObservableCollection <ILanguageLookup>(_languages); }