Obecnie mam funkcję:Aby buforować lub nie buforować - 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;
}
Zastanawiam się, czy warto byłoby buforowanie wszystkie atrybuty na nieruchomości w słowniku Attribute = _cache[MemberInfo][Type]
,
ten wymagałoby użycia GetCustomAttributes
bez żadnego parametru typu, a następnie wyliczenia z wyniku. Czy warto?
Robię serializację za pomocą refleksji, więc wskazuje, że warto to zrobić w pewnym momencie. Jednak, jak wszyscy tutaj mówili - nie ma sensu optymalizować, dopóki nie pojawi się problem :) Pozdrawiam –
W tym przypadku pozwól mi udostępnić podstęp: jeśli zamierzasz cache coś, gdzie twój klucz jest typu, użyj raczej rodzaj rodzajowy niż hashtable. Zaktualizowałem mój kod powyżej –