public static class TypeHelper
{
public static TP AutoCopy<TP, TC>(TC source) where TP : new()
{
TP dest = new TP();
var ParentType = typeof(TP);
var Properties = ParentType.GetProperties();
foreach (var Propertie in Properties)
{
if (Propertie.CanRead && Propertie.CanWrite)
{
Propertie.SetValue(dest, Propertie.GetValue(source, null), null);
}
}
return dest;
}
public static TP AutoCopy<TP, TC>(TP dest, TC source) where TP : new()
{
var ParentType = typeof(TP);
var Properties = ParentType.GetProperties();
foreach (var Propertie in Properties)
{
if (Propertie.CanRead && Propertie.CanWrite)
{
Propertie.SetValue(dest, Propertie.GetValue(source, null), null);
}
}
return dest;
}
}