示例#1
0
        private T create <T>(DataRow dr, List <ResultCmd> cmds)
        {
            T t = Activator.CreateInstance <T>();

            foreach (ResultCmd c in cmds)
            {
                PropertyInfo pi;
                try
                {
                    pi = typeof(T).GetProperty(c.Property);
                }
                catch (Exception)
                {
                    throw new Exception(String.Format("{0} 对象没有属性 {1}", typeof(T).ToString(), c.Property));
                }
                ITypeHandler typeHandler = c.TypeHandler;
                if (typeHandler == null)
                {
                    typeHandler = TypeHandlerFactory.get(pi.PropertyType);
                }
                if (typeHandler != null)
                {
                    PropertyUtil.setValue(t, pi, typeHandler.getResult(dr, c.ColumnName));
                }
            }
            return(t);
        }
示例#2
0
 private ITypeHandler getTypeHandler(Dictionary <String, ITypeHandler> typeHanlders, String propName, Type type)
 {
     if (typeHanlders != null || typeHanlders.Count > 1)
     {
         try
         {
             return(typeHanlders[propName]);
         }
         catch (Exception) { }
     }
     return(TypeHandlerFactory.get(type));
 }