![]() |
1
19
“属性的使用”太模糊了。获取属性是一种有效的反射操作—您不希望定期在循环中进行—但在元数据中包含这些属性并不昂贵,而且典型的使用模式(IMO)是在读取属性一次之后构建一些其他表示(例如内存模式)。 可能会涉及到一些缓存,但我可能会缓存其他表示。例如,如果我用描述来修饰枚举值,我通常会获取属性 一旦 建立一个字符串到枚举字典(或相反)。 |
![]() |
2
6
这取决于你如何使用它们…有些属性只是用于信息目的(例如obsoleteattribute),因此它们对运行时性能没有任何影响。其他属性由编译器(如dllimportattribute)或postsharp等后期编译器使用,因此成本在编译时,而不是运行时。但是,如果您在运行时使用反射来检查属性,那么代价可能很高。 |
![]() |
A B · C#Excel自动调整列避免长文本时出错 3 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 3 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 3 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 4 月前 |