/// <summary>
        /// 得到某个数据类型的缺省值
        /// </summary>
        /// <param name="type">类型</param>
        /// <returns>该类型的缺省值</returns>
        /// <remarks>如果该类型为引用类型,则返回null,否则返回值类型的缺省值。如Int32返回0,DateTime返回DateTime.MinValue</remarks>
        public static object GetTypeDefaultValue(System.Type type)
        {
            ExceptionHelper.FalseThrow <ArgumentNullException>(type != null, "type");

            object result = null;

            if (type.IsValueType)
            {
                //    if (TypeDefaultValueCacheQueue.Instance.TryGetValue(type, out result) == false)
                //    {
                result = TypeCreator.CreateInstance(type);

                //        TypeDefaultValueCacheQueue.Instance.Add(type, result);
                //    }
            }
            else
            {
                result = null;
            }

            return(result);
        }
Exemplo n.º 2
0
 /// <summary>
 /// 根据全类型名称动态的创建指定类型的实例。
 /// </summary>
 /// <param name="typeName">类型名称</param>
 /// <param name="constructorParams">创建实例的参数</param>
 /// <returns>指定类型的实例对象</returns>
 /// <remarks>
 /// 根据全类型名称动态的创建指定类型的实例,该创建实例过程用到了反射机制。
 /// </remarks>
 protected object CreateInstance(string typeName, params object[] constructorParams)
 {
     return(TypeCreator.CreateInstance(typeName, constructorParams));
 }