【发布时间】:2017-12-14 21:39:40
【问题描述】:
如果多个属性应用于一个成员,例如
[Foo]
[Bar]
void Baz() { ... }
那么 CLR/.NET 规范是否保证了它们在通过反射检索时将按什么顺序检索(例如Attribute.GetCustomAttributes)?这些方法的文档并没有明确说明,虽然它们似乎是按照它们的应用顺序返回的,但我不想依赖未记录的行为,因为那只是自找麻烦。
至于为什么这可能很重要,想象一下属性是用来指示该方法应该有一系列拦截器,这些拦截器应该以特定的顺序运行。
【问题讨论】:
标签: .net attributes