把对象类型转换成指定的类型帮助类方法
public static class ObjectExtensions
{
#region 把对象类型转换成指定的类型,转化失败时返回指定默认值
/// <summary>
/// 把对象类型转换成指定的类型,转化失败时返回指定默认值
/// </summary>
/// <typeparam name="T">动态类型</typeparam>
/// <param name="value">要转换的原对象</param>
/// <param name="detaultValue">转换失败时返回的默认值</param>
/// <returns>转化后指定类型对象,转化失败时返回指定默认值</returns>
public static T CastTo<T>(this object value, T detaultValue)
{
object result;
Type t = typeof(T);
try
{
result = t.IsEnum ? System.Enum.Parse(t, value.ToString()) : Convert.ChangeType(value, t);
}
catch (Exception)
{
return detaultValue;
}
return (T)result;
}
#endregion
#region 把对象类型转换成指定的类型,转化失败时返回类型默认值
/// <summary>
/// 把对象类型转换成指定的类型,转化失败时返回类型默认值
/// </summary>
/// <typeparam name="T">动态类型</typeparam>
/// <param name="value">要转换的原对象</param>
/// <returns>转化后指定类型对象,转化失败时返回类型默认值</returns>
public static T CastTo<T>(this object value)
{
object result;
Type t = typeof(T);
try
{
if (t.IsEnum)
{
result = System.Enum.Parse(t, value.ToString());
}
else if (t == typeof(Guid))
{
result = Guid.Parse(value.ToString());
}
else
{
result = Convert.ChangeType(value, t);
}
}
catch (Exception)
{
result = default(T);
}
return (T)result;
}
#endregion
}
作 者:大師兄丶
出 处:http://www.cnblogs.com/zhao-yi
Git 地 址:https://github.com/ZhaoYis
个人博客:http://www.zhaoyis.com.cn
关于作者:主要从事基于.Net Framework平台的项目开发。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是作者坚持原创和持续写作的最大动力!
出 处:http://www.cnblogs.com/zhao-yi
Git 地 址:https://github.com/ZhaoYis
个人博客:http://www.zhaoyis.com.cn
关于作者:主要从事基于.Net Framework平台的项目开发。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是作者坚持原创和持续写作的最大动力!

浙公网安备 33010602011771号