Exemple #1
0
 /// <summary>
 /// Конструктор.
 /// </summary>
 /// <param name="module">Модуль.</param>
 /// <param name="filter">Фильтр запроса на модуль.</param>
 public StaticModuleProvider(T module, IStaticModuleQueryFilter filter = null)
     : base(GetSuspendAware(module), false)
 {
     if (module == null)
     {
         throw new ArgumentNullException(nameof(module));
     }
     _module = module;
     _filter = filter;
 }
Exemple #2
0
 /// <summary>
 /// Зарегистрировать статический модуль.
 /// </summary>
 /// <typeparam name="T">Тип модуля.</typeparam>
 /// <typeparam name="TIntf">Тип интерфейса, который реализует модуль.</typeparam>
 /// <param name="collection">Коллекция.</param>
 /// <param name="module">Модуль.</param>
 /// <param name="filter">Фильтр модуля.</param>
 public static void RegisterModule <T, TIntf>(this IModuleCollection collection, T module, IStaticModuleQueryFilter filter = null)
     where T : IModule, TIntf
 {
     if (module == null)
     {
         throw new ArgumentNullException(nameof(module));
     }
     collection.RegisterProvider(typeof(TIntf), new StaticModuleProvider <T, TIntf>(module, filter ?? module as IStaticModuleQueryFilter));
 }
Exemple #3
0
        /// <summary>
        /// Зарегистрировать статический модуль.
        /// </summary>
        /// <typeparam name="T">Тип модуля.</typeparam>
        /// <typeparam name="TIntf">Тип интерфейса, который реализует модуль.</typeparam>
        /// <param name="collection">Коллекция.</param>
        /// <param name="filter">Фильтр модуля.</param>
        public static void RegisterModule <T, TIntf>(this IModuleCollection collection, IStaticModuleQueryFilter filter = null)
            where T : IModule, TIntf, new()
        {
            var module = new T();

            collection.RegisterProvider(typeof(TIntf), new StaticModuleProvider <T, TIntf>(module, filter ?? module as IStaticModuleQueryFilter));
        }