gpt4 book ai didi

c# - 在 .Net (C#) 中使用属性是否昂贵?

转载 作者:可可西里 更新时间:2023-11-01 08:55:00 26 4
gpt4 key购买 nike

我想知道在 .Net 中使用属性是否昂贵,特别是 C#,为什么或为什么不?

我特别询问 C#,除非不同的 .Net 语言之间没有区别(因为基类库相同?)。

所有较新的 .Net 技术都广泛使用属性,例如 Linq to SQL、ASP.Net MVC、WCF、Enterprise Library 等,我想知道这会对性能产生什么影响。许多类会自动使用某些属性进行修饰,或者这些属性是某些功能/特性所必需的。

费用问题是否取决于实现的具体细节?属性如何编译为 IL?它们是自动缓存的,还是由实现者决定?

最佳答案

“属性的用法”太模糊了。获取属性是一种有效的反射操作——你不想在循环中定期执行它——但将它们包含在元数据中并不昂贵,典型的使用模式(IMO)是构建一些其他表示(例如一个内存模式)在读取一次属性之后。

很可能涉及一些缓存,但我可能还是会缓存其他表示。例如,如果我用描述装饰枚举值,我通常会获取属性一次以构建一个字符串到枚举字典(反之亦然)。

关于c# - 在 .Net (C#) 中使用属性是否昂贵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1272005/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com