博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
类型自行判定转化函数
阅读量:5322 次
发布时间:2019-06-14

本文共 2937 字,大约阅读时间需要 9 分钟。

     ///         /// 转换类型 ///         ///         ///         /// 
public static object ConvertValue(Type type, object value) { if (Convert.IsDBNull(value) || (value == null)) { return null; } if (type.IsValueType && !type.IsEnum && !type.IsPrimitive && !type.IsSerializable) { string data = value.ToString(); return SerializationManager.Deserialize(type, data); } Type type2 = value.GetType(); if (type == type2) { return value; } if (((type == typeof(Guid)) || (type == typeof(Guid?))) && (type2 == typeof(string))) { if (string.IsNullOrEmpty(value.ToString())) { return null; } return new Guid(value.ToString()); } if (((type == typeof(DateTime)) || (type == typeof(DateTime?))) && (type2 == typeof(string))) { if (string.IsNullOrEmpty(value.ToString())) { return null; } return Convert.ToDateTime(value); } if (type.IsEnum) { try { return Enum.Parse(type, value.ToString(), true); } catch { return Enum.ToObject(type, value); } } if (((type == typeof(bool)) || (type == typeof(bool?)))) { bool tempbool = false; if (bool.TryParse(value.ToString(), out tempbool)) { return tempbool; } else { //处理 Request.Form 的 checkbox 如果没有返回值就是没有选中false if (string.IsNullOrEmpty(value.ToString())) return false; else { if (value.ToString() == "0") { return false; } return true; } } } if (type.IsGenericType) { type = type.GetGenericArguments()[0]; } return Convert.ChangeType(value, type); } /// /// 转换数据类型 /// ///
/// ///
public static TResult ConvertValue
(object value) { if (Convert.IsDBNull(value) || value == null) return default(TResult); object obj = ConvertValue(typeof(TResult), value); if (obj == null) { return default(TResult); } return (TResult)obj; }

 

转载于:https://www.cnblogs.com/CielWater/p/4930484.html

你可能感兴趣的文章
通过maven profile 打包指定环境配置
查看>>
redis 存储时间区间的数据
查看>>
STM32F0库函数初始化系列:进入STOP模式,外部中断唤醒
查看>>
p1525 关押罪犯
查看>>
使用Html5shiv.js让ie支持html5
查看>>
DBA 优化法则
查看>>
用Python连接SQLServer抓取分析数据、监控 (pymssql)
查看>>
升级ruby后再安装cocodPod
查看>>
MySQL数据库8(十三)高级数据操作之select指令
查看>>
随心测试_Python Se_002<不同浏览器驱动>
查看>>
LeetCode 202. Happy Number
查看>>
【Codeforces Round #432 (Div. 2) A】 Arpa and a research in Mexican wave
查看>>
HTTP协议
查看>>
转载 jenkins执行selenium 测试 浏览器不显示解决方法
查看>>
spring+mybatis利用interceptor(plugin)兑现数据库读写分离
查看>>
wenbao与极角排序
查看>>
回顾JAVA---3.异常
查看>>
data Binding
查看>>
SSM配置
查看>>
HDU 5957 Query on a graph
查看>>