If I am not mistaken with what is required, the way to easily achieve property value copy between two existing instances (even not of the same type) is to use Automapper.
- create mapping configuration
- and then call .Map(soure, target)
As long as you keep property in same type and in same naming convention, all should work.
Example:
MapperConfiguration _configuration = new MapperConfiguration(cnf =>
{
cnf.CreateMap();
});
var mapper = new Mapper(_configuration);
maper.DefaultContext.Mapper.Map(source, target)