你好 我对反射很熟悉,我已经通过大量的例子,我知道它是如何工作的,以及我们可以使用它的目的。但我没有得到缓存反射的任何例子,我也不知道它是什么意思。不知何故,我必须在我正在做的项目中使用反射缓存。
因此,如果有人可以简单地解释这个概念并给出一些例子,我将不得不承认,现有例子的链接也将受到赞赏。并且还请描述属性的反映及其缓存。提前谢谢。
此致 Umair
答案 0 :(得分:5)
你会像其他任何东西一样缓存它:
var cache = new Dictionary<Type, IEnumerable<Attribute>>();
// obj is some object
var type = obj.GetType();
var attributes = type.GetCustomAttributes(typeof(MyAttribute), true);
cache.Add(type, attributes);
答案 1 :(得分:2)
我建议不要缓存反射(hehe),因为它(当然)是由运行时完成的。如果你的意思是减少查找时间和动态调用开销
无论你做什么:不要过早地优化事情。