Actualmente tengo una función:Para almacenar en caché o no a almacenar en caché - GetCustomAttributes
public static Attribute GetAttribute(MemberInfo Member, Type AttributeType)
{
Object[] Attributes = Member.GetCustomAttributes(AttributeType, true);
if (Attributes.Length > 0)
return (Attribute)Attributes[0];
else
return null;
}
Me pregunto si sería conveniente almacenar en caché todos los atributos de una propiedad en un diccionario Attribute = _cache[MemberInfo][Type]
,
Este requeriría usar GetCustomAttributes
sin ningún parámetro de tipo y luego enumerar el resultado. ¿Vale la pena?
Estoy haciendo serialización a través de la reflexión, por lo que indica que puede valer la pena hacerlo en algún momento. Sin embargo, como todo el mundo ha dicho, no tiene sentido optimizar hasta que sea un problema :) Saludos –
En este caso, permítanme compartir un truco: si va a almacenar en caché algo donde la clave es un tipo, use un tipo genérico que una tabla hash. Actualicé mi código arriba –