title: How to easily manage adapters and/or decorators with runtime parameters?
body: <p>I will give very simple example.</p>
  
  <pre><code>class Implementation: IMyInterface
  {
      string mArg;
  
      public Implementation(string arg)
      {
          mArg = arg;
      }
  
      public DoStuff(object param)
      {
          // snip
      }
  }
  
  class Decorator: IMyInterface
  {
      IMyInterface mWrapped;
  
      public Decorator(IMyInterface wrapped)
      {
          mWrapped = wrapped;
      }
  
      public DoStuff(object param)
      {
          var result = mWrapped.DoStuff(param);
  
          // snip
  
          return result;
      }
  }
  </code></pre>
  
  <p>Now the argument I need for Implementation constructor I get from user in run-time.</p>
  
  <pre><code>IMyInterface GetMyObject()
  {
      string arg = AskUserForString();
  
      return mContext.Resolve // HOW?
  }
  </code></pre>
  
  <p>So what is the proper way to set this up and resolve to Decorated instance?</p>
  
  <p>The example is simple. But imagine there are more layers (decorators/adapters) and the innermost implementation needs parameter I get in run-time.</p>