Mar*_*ell 14
大多数仅在运行时使用.编译器使用的数量非常有限,包括:
[Conditional(...)] - 省略每个构建符号的方法调用[Obsolete(...)] - 作为构建输出发出警告/错误[Serializable] - 被写为CLI标志[Extension] - 用于扩展方法[AttributeUsage] - 影响属性的应用方式有一系列的喜欢的东西[AssemblyVersion],[AssemblyFileVersion]等了由编译器产生的汇编文件时使用的,事情就是这样[InternalsVisibleTo]影响辅助功能.
此外,像PostSharp这样的工具会根据属性执行额外的后编译步骤.
编译器可能会向生成的类型/方法添加一些其他属性(对于anon-methods/types,迭代器块等).
在编译时,属性作为元数据输出到程序集.然后,这个元数据在运行时通过反射使用 - 例如使用GetCustomAttributes().
编译器在编译时也使用某些属性.例如,编译器查看AttributeUsageAttribute以确定属性是否可用于特定对象.
| 归档时间: |
|
| 查看次数: |
2707 次 |
| 最近记录: |