Beispiel #1
0
 /// <summary>
 /// 将type对象加入缓存中
 /// </summary>
 /// <param name="type"></param>
 internal static void Store(Type type)
 {
     lock (DATA_DICT)
     {
         if (!IsCached(type))
         {
             RequestEntityInfo r = RequestEntityProvider.Generate(type);
             DATA_DICT.Add(type.FullName, r);
         }
     }
 }
        /// <summary>
        /// 通过反射获取type类型的必要信息
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        internal static RequestEntityInfo Generate(Type type)
        {
            RequestEntityInfo result = new RequestEntityInfo
            {
                RequestType = type,
                PiArray = type.GetProperties()
            };

            for (int i = 0; i < result.PiArray.Length; i++)
            {
                RequestParameterAttribute attritube = Attribute.GetCustomAttribute(result.PiArray[i], typeof(RequestParameterAttribute)) as RequestParameterAttribute;
                if (attritube != null)
                {
                    string propertyName = result.PiArray[i].Name;
                    result.RequestParameterDict.Add(propertyName, attritube);
                    result.RequestIndexDict.Add(propertyName, i);
                    continue;
                }
            }

            return result;
        }
        /// <summary>
        /// 通过反射获取type类型的必要信息
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        internal static RequestEntityInfo Generate(Type type)
        {
            RequestEntityInfo result = new RequestEntityInfo
            {
                RequestType = type,
                PiArray     = type.GetProperties()
            };

            for (int i = 0; i < result.PiArray.Length; i++)
            {
                RequestParameterAttribute attritube = Attribute.GetCustomAttribute(result.PiArray[i], typeof(RequestParameterAttribute)) as RequestParameterAttribute;
                if (attritube != null)
                {
                    string propertyName = result.PiArray[i].Name;
                    result.RequestParameterDict.Add(propertyName, attritube);
                    result.RequestIndexDict.Add(propertyName, i);
                    continue;
                }
            }

            return(result);
        }