title: Does the order of attributes have any guarantees?
body: <p>If multiple attributes are applied to a member, e.g.</p>
  
  <pre><code>[Foo]
  [Bar]
  void Baz() { ... }
  </code></pre>
  
  <p>Then are any guarantees made by the CLR/.NET specifications as to what order they will be retrieved in when retrieved by reflection (e.g. <code>Attribute.GetCustomAttributes</code>)? The documentation for these methods does not make it explicit, and while it does seem to be the case that they are returned in the order they are applied, I don't want to rely on undocumented behaviour as that's just asking for trouble.</p>
  
  <p>As for why this might be important, imagine the attributes are used to indicate that the method should have a series of interceptors, which should run in a specific order.</p>