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); }