Boxed.Mapping 7.0.0

前缀已保留
此软件包具有 SemVer 2.0.0 软件包版本号:7.0.0+build.1058。
dotnet add package Boxed.Mapping --version 7.0.0                
NuGet\Install-Package Boxed.Mapping -Version 7.0.0                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的版本 Install-Package.
<PackageReference Include="Boxed.Mapping" Version="7.0.0" />                
对于支持 PackageReference 的项目,请将此 XML 节复制到项目文件中以引用软件包。
paket add Boxed.Mapping --version 7.0.0                
#r "nuget: Boxed.Mapping, 7.0.0"                
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将其复制到交互式工具或脚本的源代码中以引用软件包。
// Install Boxed.Mapping as a Cake Addin
#addin nuget:?package=Boxed.Mapping&version=7.0.0

// Install Boxed.Mapping as a Cake Tool
#tool nuget:?package=Boxed.Mapping&version=7.0.0                

.NET Boxed Banner

Boxed.Mapping

Boxed.Mapping Boxed.Mapping package in dotnet-boxed feed in Azure Artifacts Boxed.Mapping NuGet Package Downloads

一个简单快速(最快?)的对象到对象映射器,不使用反射。请参阅 一个简单快速的对象映射器 了解更多信息。

public class MapFrom
{
    public bool BooleanFrom { get; set; }
    public int IntegerFrom { get; set; }
    public List<MapFromChild> ChildrenFrom { get; set; }
}
public class MapFromChild
{
    public DateTimeOffset DateTimeOffsetFrom { get; set; }
    public string StringFrom { get; set; }
}
 
public class MapTo
{
    public bool BooleanTo { get; set; }
    public int IntegerTo { get; set; }
    public List<MapToChild> ChildrenTo { get; set; }
}
public class MapToChild
{
    public DateTimeOffset DateTimeOffsetTo { get; set; }
    public string StringTo { get; set; }
}

public class DemoMapper : IMapper<MapFrom, MapTo>
{
    private readonly IMapper<MapFromChild, MapToChild> childMapper;
    
    public DemoMapper(IMapper<MapFromChild, MapToChild> childMapper) => this.childMapper = childMapper;
    
    public void Map(MapFrom source, MapTo destination)
    {
        destination.BooleanTo = source.BooleanFrom;
        destination.IntegerTo = source.IntegerFrom;
        destination.ChildrenTo = childMapper.MapList(source.ChildrenFrom);
    }
}

public class DemoChildMapper : IMapper<MapFromChild, MapToChild>
{
    public void Map(MapFromChild source, MapToChild destination)
    {
        destination.DateTimeOffsetTo = source.DateTimeOffsetFrom;
        destination.StringTo = source.StringFrom;
    }
}

public class UsageExample
{
    private readonly IMapper<MapFrom, MapTo> mapper = new DemoMapper();
    
    public MapTo MapOneObject(MapFrom source) => this.mapper.Map(source);
    
    public MapTo[] MapArray(List<MapFrom> source) => this.mapper.MapArray(source);
    
    public List<MapTo> MapList(List<MapFrom> source) => this.mapper.MapList(source);
    
    public IAsyncEnumerable<MapTo> MapAsyncEnumerable(IAsyncEnumerable<MapFrom> source) =>
        this.mapper.MapEnumerableAsync(source);
}

还包括 IImmutableMapper<TSource, TDestination>,用于映射到不可变类型,如 C# 9 的 record,也可以用于 enum 类型。

public record MapFrom(bool BooleanFrom, int IntegerFrom);
public record MapTo(bool BooleanTo, int IntegerTo);

public class DemoImmutableMapper : IImmutableMapper<MapFrom, MapTo>
{
    public MapTo Map(MapFrom source) => 
        new MapTo(source.BooleanFrom, source.IntegerFrom);
}
产品 兼容和额外的计算目标框架版本。
.NET net5.0 已计算。 net5.0-windows 已计算。 net6.0 兼容。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 兼容。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。
.NET Core netcoreapp1.0 已计算。 netcoreapp1.1 已计算。 netcoreapp2.0 已计算。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。
.NET Standard netstandard1.3 相容。 netstandard1.4 已计算。 netstandard1.5 已计算。 netstandard1.6 已计算。 netstandard2.0 相容。 netstandard2.1 相容。
.NET 框架 net46 已计算。 net461 已计算。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。
MonoAndroid monoandroid 已计算。
MonoMac monomac 已计算。
MonoTouch monotouch 已计算。
Tizen tizen30 已计算。 tizen40 已计算。 tizen60 已计算。
通用 Windows 平台 uap 已计算。 uap10.0 已计算。
Xamarin.iOS xamarinios 已计算。
Xamarin.Mac xamarinmac 已计算。
Xamarin.TVOS xamarintvos 已计算。
Xamarin.WatchOS xamarinwatchos 已计算。
相容的目标框架
包含的目标框架(在包中)
了解更多关于 目标框架.NET Standard 的信息。
  • .NETStandard 1.3

  • .NETStandard 2.0

    • 无依赖。
  • .NETStandard 2.1

    • 无依赖。
  • net6.0

    • 无依赖。
  • net7.0

    • 无依赖。

NuGet 包 (5)

显示依赖于 Boxed.Mapping 的前 5 个 NuGet 包

下载
WebScheduler.Client.Core

WebScheduler 服务器的基本客户端库。

Uponey.Core.Contract

包描述

PikTools.Modules.Pylons.Shared

PikTools为模块Pylons核心库

Kasp.ObjectMapper.Benchmark

包描述

idee5.EventStoreLite

基本事件存储实现

GitHub仓库 (1)

显示依赖Boxed.GetMapping的顶级1个流行的GitHub仓库

仓库 星标
Dotnet-Boxed/Templates
包含电池组的.NET项目模板,提供启动所需的最少代码量,以更快地开始。
版本 下载 最后更新
7.0.0 25,729 9/14/2023
6.0.0 187,659 11/9/2021
5.3.0 88,449 3/11/2021
5.2.0 26,453 12/3/2020
5.1.0 4,044 11/23/2020
5.0.0 32,954 7/20/2020
4.0.0 60,224 3/17/2020
3.0.0 23,622 11/30/2019
2.0.0 7,965 9/13/2019
1.4.0 11,762 7/14/2019
1.3.0 29,210 12/27/2018
1.2.0 35,585 7/13/2018
1.1.0 2,508 5/25/2018
1.0.0 2,781 5/6/2018