2

我想用自定义属性装饰我的方法和 GUI 控件。我想知道属性如何消耗内存或影响应用程序性能。属性的生命周期是什么。意味着当一个类的对象在方法、属性和其自身中具有自定义属性时。被实例化然后被释放。如果所有自定义属性实例也随着对象的解构而被处理,还是它们仍然保留在内存中?

4

1 回答 1

5

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

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

但总的来说,属性为常见的编程场景提供了一个很好的解决方案,并且如果使用得当,不会导致内存或性能瓶颈。

于 2011-05-28T02:15:10.633 回答