C#两个相同属性的类赋值方法

最近有遇到两个类之间的赋值问题,两个类的属性几乎都一样的,所以写了个通过反射获取属性的然后赋值的方法,把一个类的属性的值赋值给另一个类。

public static D Mapper<D, S>(S s)
{
	D d = Activator.CreateInstance<D>();
	try
	{
		var sType = s.GetType();
		var dType = typeof(D);
		foreach (PropertyInfo sP in sType.GetProperties())
		{
			foreach (PropertyInfo dP in dType.GetProperties())
			{
				if (dP.Name == sP.Name)
				{
					dP.SetValue(d, sP.GetValue(s));
				}
			}
		}
	}
	catch (Exception ex)
	{
	}
	return d;
}
—— 完 ——