title: Accessing attributes applied to method in derived class from base class
body: <p>So I've got a case where I'd like to be able to apply attributes to a (virtual) method in a derived class, but I'd like to be able to give a default implementation that uses those attributes in my base class.</p>
  
  <p>My original plan for doing this was to override the method in the derived class and just call the base implementation, applying the desired attributes at this point, as follows:</p>
  
  <pre><code>public class Base {
  
      [MyAttribute("A Base Value For Testing")]
      public virtual void GetAttributes() {
          MethodInfo method = typeof(Base).GetMethod("GetAttributes");
          Attribute[] attributes = Attribute.GetCustomAttributes(method, typeof(MyAttribute), true);
  
          foreach (Attibute attr in attributes) {
              MyAttribute ma = attr as MyAttribute;
              Console.Writeline(ma.Value);
          }
      }
  }
  
  public class Derived : Base {
  
      [MyAttribute("A Value")]
      [MyAttribute("Another Value")]
      public override void GetAttributes() {
          return base.GetAttributes();
      }
  }
  </code></pre>
  
  <p>This only prints "A Base Value For Testing", not the other values that I really want.</p>
  
  <p>Does anybody have any suggestions as to how I can modify this to get the desired behavior?</p>