/// <summary>
/// 相同类,不同命名空间值赋值
/// </summary>
/// <typeparam name="T">返回类型</typeparam>
/// <param name="obj1">源数据</param>
/// <param name="obj2">赋值后数据</param>
/// <returns></returns>
public T CopyObject<T>(object obj1, T obj2) where T : new()
{
try
{
var type1 = obj1.GetType();
var type2 = obj2.GetType();
foreach (var propertyInfo in type2.GetProperties())
{
var name = propertyInfo.Name;
//获取
var propertyPkid = type1.GetProperty(name);
var value = propertyPkid.GetValue(obj1, null);
propertyInfo.SetValue(obj2, value, null);//设置1
}
return obj2;
}
catch (Exception)
{
return new T();
}
}
C# 不同命名空间的相同类,反射赋值
最新推荐文章于 2022-05-25 22:34:53 发布