c# - Passing the type of the dependent object to the dependency in unity -


i'm using unity dependency injection. want able inject logger classes depend on it. problem logger has constructor argument needs type of object that's referencing it. if using ninject, i'd use logging extension. how same in unity?

here's sample code show mean.

public class service1:iservice1 {     private ilog _log;     public service1(ilog log)     {         _log = log;     }      public void dosomething()     {         _log.print();     } }  public class service2:iservice2 {     private ilog _log;     public service2(ilog log)     {         _log = log;     }      public void dosomething()     {         _log.print();     } }  public class log:ilog {     private type _ownertype;     public log(type ownertype)     {         _ownertype = ownertype;     }      public void print()     {         console.writeline("owner:  {0}", _ownertype.name);     } }  unitycontainer.registertype<iservice1, service1>(); unitycontainer.registertype<iservice2, service2>(); unitycontainer.registertype<ilog, log>()  // wrong  var s1 = unitycontainer.resolve<iservice1>(); var s2 = unitycontainer.resolve<iservice2>();  s1.dosomething(); // should print "owner:  service1" s2.dosomething(); // should print "owner:  service2" 

think in can you, haven`t used unity, so..

http://davidkeaveny.blogspot.ru/2011/03/unity-and-log4net.html

hope, you.


Comments

Popular posts from this blog

c# - Send Image in Json : 400 Bad request -

jquery - Fancybox - apply a function to several elements -

An easy way to program an Android keyboard layout app -