main
1using System;
2using Gorilla.Commons.Infrastructure.Container;
3using gorilla.commons.infrastructure.thirdparty.Castle.DynamicProxy;
4using gorilla.commons.utility;
5
6namespace gorilla.commons.infrastructure.thirdparty
7{
8 public interface DependencyRegistration : Builder<DependencyRegistry>
9 {
10 void singleton<Contract, Implementation>() where Implementation : Contract;
11 void singleton(Type contract, Type implementation);
12 void singleton<Contract>(Func<Contract> instance_of_the_contract);
13
14 void transient<Contract, Implementation>() where Implementation : Contract;
15 void transient(Type contract, Type implementation);
16 void transient<Contract>(Func<Contract> factory_method);
17
18 [Obsolete]
19 void proxy<T, Configuration>(Func<T> target) where Configuration : Configuration<ProxyBuilder<T>>, new();
20 }
21}