title: How to change instance at OnInstanceConstructedAdvice?
body: <pre><code>    [PostSharp.Aspects.Advices.OnInstanceConstructedAdvice]
      public void OnInstanceConstructed()
      {
          var instanceType = this.Instance.GetType();
  
          if (this.appliedTo != instanceType)
          {
  
              var LoadInDbMethod = instanceType.GetMethod("GetObjectInDatabase", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
              var objInDb = LoadInDbMethod.Invoke(this.Instance, new object[] { null, true });
              if (objInDb != null)
              {
                  this.Instance = objInDb;
                  //postshot throws an error that this is readonly!!
              }
  
          }
  
      }
  </code></pre>
  
  <p>PostSharp doesn't let me to change instance once instance is created but I need a way to assign another object to this instance after it's constructed!  </p>
  
  <p>Suppose I have following code</p>
  
  <pre><code>var Pejo = new Car(){ Name = "405"};
  </code></pre>
  
  <p>Pejo 405 exist in my database with all of it's properties so I want Pejo to be my database object not a new object with null properties(other than Name).</p>
  
  <p>I can also move from PostSharp to any other C# AOP framework that let me to do this.   </p>
  
  <p>How to achieve this with PostSharp or any other AOP framework ?</p>