コード例 #1
0
        /// <summary>
        /// 把值转成字符串
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        private static object JsonValueToValue(object value, Type realType)
        {
            if (value == null)
            {
                return(null);
            }

            realType = DefaultType.GetRealValueType(realType);
            if (value.GetType() == realType)
            {
                return(value);
            }
            if (DefaultType.IsInherit(realType, typeof(Enum)))
            {
                int ivalue = Convert.ToInt32(value);
                return(ivalue);
            }
            if (DefaultType.IsInherit(realType, typeof(byte[])))
            {
                return(CommonMethods.HexStringToBytes(value as string));
            }
            if (DefaultType.IsInherit(realType, typeof(bool)))
            {
                return(Convert.ToInt32(value) != 0);
            }
            return(Convert.ChangeType(value, realType));
        }
コード例 #2
0
        /// <summary>
        /// 加载程序集
        /// </summary>
        /// <param name="ass"></param>
        public void LoadAssembly(Assembly ass)
        {
            Type inteType = typeof(AbsServicesHandle);

            Type[] classes = ass.GetTypes();
            foreach (Type objType in classes)
            {
                if (!objType.IsClass)
                {
                    continue;
                }
                if (!DefaultType.IsInherit(objType, inteType))
                {
                    continue;
                }
                AbsServicesHandle handle = Activator.CreateInstance(objType) as AbsServicesHandle;
                if (handle == null)
                {
                    continue;
                }
                AddServices(handle);
            }
        }