Mercurial > pub > ImplabNet
comparison Implab/Components/ServiceLocator.cs @ 238:bdfdba6b645b v2
fixed unpredictable Safe.Dispose behaviour
author | cin |
---|---|
date | Fri, 01 Dec 2017 01:28:56 +0300 |
parents | 240aa6994018 |
children |
comparison
equal
deleted
inserted
replaced
237:f2150c16b476 | 238:bdfdba6b645b |
---|---|
5 /// <summary> | 5 /// <summary> |
6 /// Коллекция сервисов, позволяет регистрировать и получать сервисы. | 6 /// Коллекция сервисов, позволяет регистрировать и получать сервисы. |
7 /// </summary> | 7 /// </summary> |
8 public class ServiceLocator: Disposable, IServiceLocator, IServiceProvider { | 8 public class ServiceLocator: Disposable, IServiceLocator, IServiceProvider { |
9 // запись о сервисе | 9 // запись о сервисе |
10 struct ServiceEntry : IDisposable { | 10 class ServiceEntry : IDisposable { |
11 public object service; // сервис | 11 public object service; // сервис |
12 public bool shared; // признак того, что сервис НЕ нужно освобождать | 12 public bool shared; // признак того, что сервис НЕ нужно освобождать |
13 public Func<object> activator; // активатор сервиса при первом обращении | 13 public Func<object> activator; // активатор сервиса при первом обращении |
14 public Action<object> cleanup; // функция для очистки сервиса | 14 public Action<object> cleanup; // функция для очистки сервиса |
15 public List<Type> associated; // ссылки на текущую запись | 15 public List<Type> associated; // ссылки на текущую запись |