namespace Volo.Abp.ObjectMapping;
///
/// Defines a simple interface to automatically map objects.
///
public interface IObjectMapper
{
///
/// Gets the underlying object that is used for auto object mapping.
///
IAutoObjectMappingProvider AutoObjectMappingProvider { get; }
///
/// Converts an object to another. Creates a new object of .
///
/// Type of the destination object
/// Type of the source object
/// Source object
TDestination Map(TSource source);
///
/// Execute a mapping from the source object to the existing destination object
///
/// Source type
/// Destination type
/// Source object
/// Destination object
/// Returns the same object after mapping operation
TDestination Map(TSource source, TDestination destination);
}
///
/// Defines a simple interface to automatically map objects for a specific context.
///
public interface IObjectMapper : IObjectMapper
{
}
///
/// Maps an object to another.
/// Implement this interface to override object to object mapping for specific types.
///
///
///
public interface IObjectMapper
{
///
/// Converts an object to another. Creates a new object of .
///
/// Source object
TDestination Map(TSource source);
///
/// Execute a mapping from the source object to the existing destination object
///
/// Source object
/// Destination object
/// Returns the same object after mapping operation
TDestination Map(TSource source, TDestination destination);
}