Ejemplo n.º 1
0
        public static PropertyInfo[] PropiedadesDelObjeto(this object objeto)
        {
            var indice = objeto.GetType().FullName;
            var cache  = ServicioDeCaches.Obtener(nameof(Type.GetProperties));

            if (!cache.ContainsKey(indice))
            {
                Type t = objeto.GetType();
                cache[indice] = t.GetProperties();
            }
            PropertyInfo[] props = (PropertyInfo[])cache[indice];
            return(props);
        }
Ejemplo n.º 2
0
        public static bool TienenLaPropiedad(this Type tipo, string propiedad)
        {
            var cache  = ServicioDeCaches.Obtener(nameof(Type.GetProperties));
            var indice = tipo.FullName;

            if (!cache.ContainsKey(indice))
            {
                cache[indice] = tipo.GetProperties();
            }

            foreach (var p in (PropertyInfo[])cache[indice])
            {
                if (p.Name.ToLower() == propiedad.ToLower())
                {
                    return(true);
                }
            }

            return(false);
        }