123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- using System;
- namespace Wayne.Lib
- {
-
-
-
- public interface IServiceContainer : IServiceLocator, IDisposable
- {
-
-
-
-
- void RegisterResolver(Func<Type, object> requestedType);
-
-
-
-
- void RegisterService<TService>();
-
-
-
-
-
- void RegisterService<TService>(string serviceId);
-
-
-
-
-
- void RegisterService<TServiceContract, TServiceImplementation>()
- where TServiceImplementation : TServiceContract
- where TServiceContract : class;
-
-
-
-
-
-
- void RegisterService<TServiceContract, TServiceImplementation>(string serviceId)
- where TServiceImplementation : TServiceContract
- where TServiceContract : class;
-
-
-
-
-
- void RegisterService<TServiceContract>(TServiceContract serviceInstance);
-
-
-
-
-
-
- void RegisterService<TServiceContract>(TServiceContract serviceInstance, string serviceId);
-
-
-
-
-
-
-
- void RegisterService<TServiceContract>(ObjectConstructor<IServiceLocator, TServiceContract> serviceConstructor);
-
-
-
-
-
-
-
-
- void RegisterService<TServiceContract>(ObjectConstructor<IServiceLocator, TServiceContract> serviceConstructor, string serviceId);
- }
-
-
-
-
-
-
-
- public delegate TReturnType ObjectConstructor<TServiceLocator, TReturnType>(TServiceLocator serviceLocator);
- }
|