在C#中使用自定义属性是内存/性能瓶颈吗?

时间:2010-04-16 07:44:11

标签: performance

我用自定义属性来解决我的方法和gui控件。我想知道属性如何消耗内存或影响应用程序性能。什么是属性的生命周期。表示具有方法,属性和自身的自定义属性的类的对象。实例化然后处理。如果所有自定义属性实例也随着对象的解释而处理,或者stil仍留在记忆中?

1 个答案:

答案 0 :(得分:3)

属性存在于类型而不是对象实例上,因此属性实例的生命周期与对象实例的生命周期无关。

如果重复使用反射来访问频繁使用的代码中的相同属性,那么在代码中大量使用属性可能会成为瓶颈。这很容易通过缓存来解决。具体如何以及何时缓存将取决于您的应用程序和环境。

一般而言,属性为常见的编程方案提供了很好的解决方案,如果使用得当,不会导致内存或性能瓶颈。