title: Override base class PostSharp aspect in derived class
body: <p>I have a generic repository class with various methods marked with a <strong>PostSharp</strong> aspect (<code>SecuredOperation</code>)...</p>
  
  <pre><code>public class Repository&lt;TEntity&gt; : IRepository&lt;TEntity&gt;, ISecurable
      where TEntity : class, IEntity
  {      
      ...
  
      [SecuredOperation(DomainAccess.Write)]        
      public virtual void Add(TEntity entity)
      {
          this.Context.AddEntity(entity);
      }
  
      ...
  }
  </code></pre>
  
  <p>In some of my derived repository classes I want to change the required access on the <code>Add()</code> method (e.g. <code>DomainAccess.None</code>).</p>
  
  <p>My initial attempt was to override the method and reapply the aspect...</p>
  
  <pre><code>public class SomeRepository : Repository&lt;SomeEntity&gt;
  {       
      ...
  
      [SecuredOperation(DomainAccess.None)]
      public override void Add(SomeEntity entity)
      {
          base.Add(entity);
      }
  
      ...
  }
  </code></pre>
  
  <p>The aspect is correctly applied to this overridden method, however once I call the base class implementation the base class aspect kicks in. </p>
  
  <p>Obviously duplicating the base class logic in the derived classes is not a solution.</p>
  
  <p><strong>How can I get around this problem of overriding a base class aspect in a derived class?</strong></p>