/// <summary>
 /// 获取类属性的获取值委托
 /// </summary>
 /// <param name="type">Type</param>
 /// <param name="propertyName">属性名称</param>
 /// <param name="reflectionType">反射类型</param>
 /// <returns></returns>
 public static dynamic PropertyGetCall(Type type, string propertyName, ReflectionTypeEnum reflectionType = ReflectionTypeEnum.Expression)
 {
     return(ExecutePropertyGetCall(type, propertyName, () =>
     {
         return ReflectionGenericHelper.PropertyGetCall(type, type.GetProperty(propertyName), reflectionType);
     }, reflectionType));
 }
 /// <summary>
 /// 获取类属性的获取值委托
 /// </summary>
 /// <param name="type">Type</param>
 /// <param name="propertyInfo">PropertyInfo</param>
 /// <param name="reflectionType">反射类型</param>
 /// <returns></returns>
 public static dynamic PropertyGetCall(Type type, PropertyInfo propertyInfo, ReflectionTypeEnum reflectionType = ReflectionTypeEnum.Expression)
 {
     return(ExecutePropertyGetCall(type, propertyInfo.Name, () =>
     {
         return ReflectionGenericHelper.PropertyGetCall(type, propertyInfo, reflectionType);
     }, reflectionType));
 }
        /// <summary>
        /// 获取类属性的获取值委托
        /// </summary>
        /// <typeparam name="T">实体类型</typeparam>
        /// <param name="propertyInfo">PropertyInfo</param>
        /// <param name="reflectionType">反射类型</param>
        /// <returns></returns>
        public static dynamic PropertyGetCall <T>(PropertyInfo propertyInfo, ReflectionTypeEnum reflectionType = ReflectionTypeEnum.Expression) where T : class
        {
            Type type = typeof(T);

            return(ExecutePropertyGetCall(type, propertyInfo.Name, () =>
            {
                return ReflectionGenericHelper.PropertyGetCall <T>(propertyInfo, reflectionType);
            }, reflectionType));
        }