C# 根据指定的类型,动态转换object数据到指定类型

2023-12-26 12:08:47
  1. 封装类
namespace EFCoreDynamicCondition.Helptool
{
    public class Helptool
    {
        public static T ConvertToType<T>(object value)
        {
            try
            {
                return (T)Convert.ChangeType(value, typeof(T));
            }
            catch (InvalidCastException)
            {
                // 转换失败的处理
                Console.WriteLine($"Conversion to {typeof(T).Name} failed.");
                return default(T); // 或者抛出异常,具体情况可以根据需求来处理
            }
        }


        public static object ConvertToType(object value, Type targetType)
        {
            try
            {
                return Convert.ChangeType(value, targetType);
            }
            catch (InvalidCastException)
            {
                // 转换失败的处理
                Console.WriteLine($"Conversion to {targetType.Name} failed.");
                return targetType.IsValueType ? Activator.CreateInstance(targetType) : null;
                // 或者抛出异常,具体情况可以根据需求来处理
            }
        }
    }
}

  1. 使用demo
Console.WriteLine(Helptool.ConvertToType<int>("32"));

Console.WriteLine(Helptool.ConvertToType("32", typeof(int)));


Console.WriteLine("Hello, World!");

文章来源:https://blog.csdn.net/weixin_43632687/article/details/135216014
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。