예제 #1
0
        protected internal virtual Objeto InvocarElField()
        {
            object instancia = ObtenerElObjeto();

            FieldInfo fieldABuscar = ObtenerElFieldDelObjetoSiExiste();

            bool seEncontroELFieldRespectivo = fieldABuscar != null;

            if (!seEncontroELFieldRespectivo)
            {
                ParserValidation.validacionDeMetodo(instancia.GetType(), nombreDelMetodo, ObtenerFirmaDeArgumentos());
            }
            object elObjeto = fieldABuscar.GetValue(instancia);
            Objeto resultadoDeInvocarAlMetodo = Boxing(elObjeto);

            return(resultadoDeInvocarAlMetodo);
        }
예제 #2
0
        protected internal virtual Objeto InvocarElGetProperty()
        {
            object instancia = ObtenerElObjeto();

            PropertyInfo propiedadABuscar = ObtenerElPropertyDelObjetoSiExiste();

            bool seEncontroELMetodoRespectivo = propiedadABuscar != null;

            if (!seEncontroELMetodoRespectivo)
            {
                ParserValidation.validacionDeMetodo(instancia.GetType(), nombreDelMetodo, ObtenerFirmaDeArgumentos());
            }

            object elObjeto = propiedadABuscar.GetValue(instancia, ObtenerFirmaDeValoresBasadosEnElPropertyGet(propiedadABuscar));
            Objeto resultadoDeInvocarAlMetodo = Boxing(elObjeto);

            return(resultadoDeInvocarAlMetodo);
        }
예제 #3
0
        protected internal virtual Objeto InvocarElMetodo()
        {
            object instancia = ObtenerElObjeto();

            MethodInfo methodABuscar = ObtenerElMetodoDelObjetoSiExiste(instancia.GetType());

            bool seEncontroELMetodoRespectivo = methodABuscar != null;

            if (!seEncontroELMetodoRespectivo)
            {
                ParserValidation.validacionDeMetodo(instancia.GetType(), nombreDelMetodo, ObtenerFirmaDeArgumentos());
            }
            var    firmaDeLosParametros       = ObtenerFirmaDeValoresBasadosEnElMetodo(methodABuscar);
            object elObjeto                   = methodABuscar.Invoke(instancia, firmaDeLosParametros);
            Objeto resultadoDeInvocarAlMetodo = Boxing(elObjeto);

            return(resultadoDeInvocarAlMetodo);
        }