Exemplo n.º 1
0
        /// <summary>
        /// emit方式给属性赋值
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="obj">对象</param>
        /// <param name="propertyName">属性名</param>
        /// <param name="propertyValue">值</param>
        public static void EmitSet <T>(T obj, string propertyName, object propertyValue) where T : class
        {
            var setter = EmitHelper <T> .EmitSetter(propertyName);

            setter(obj, propertyValue);
        }
Exemplo n.º 2
0
        /// <summary>
        /// emit方式获取属性值
        /// </summary>
        /// <typeparam name="T">对象类型</typeparam>
        /// <param name="obj">对象</param>
        /// <param name="propertyName">属性名</param>
        /// <returns></returns>
        public static object EmitGet <T>(T obj, string propertyName) where T : class
        {
            var getter = EmitHelper <T> .EmitGetter(propertyName);

            return(getter(obj));
        }
Exemplo n.º 3
0
        /// <summary>
        /// emit方式获取属性值
        /// </summary>
        /// <typeparam name="ObjectT">对象类型</typeparam>
        /// <typeparam name="ReturnT">返回类型</typeparam>
        /// <param name="obj">对象</param>
        /// <param name="propertyName">属性名</param>
        /// <returns></returns>
        public static ReturnT EmitGet <ObjectT, ReturnT>(ObjectT obj, string propertyName) where ObjectT : class
        {
            var getter = EmitHelper <ObjectT> .EmitGetter <ReturnT>(propertyName);

            return(getter(obj));
        }