Xprema.ObjectMappers
1.0.0
dotnet add package Xprema.ObjectMappers --version 1.0.0
NuGet\Install-Package Xprema.ObjectMappers -Version 1.0.0
<PackageReference Include="Xprema.ObjectMappers" Version="1.0.0" />
<PackageVersion Include="Xprema.ObjectMappers" Version="1.0.0" />
<PackageReference Include="Xprema.ObjectMappers" />
paket add Xprema.ObjectMappers --version 1.0.0
#r "nuget: Xprema.ObjectMappers, 1.0.0"
#:package Xprema.ObjectMappers@1.0.0
#addin nuget:?package=Xprema.ObjectMappers&version=1.0.0
#tool nuget:?package=Xprema.ObjectMappers&version=1.0.0
XAccount.ObjectMappers
XAccount.ObjectMappers is a library designed to simplify object-to-object mapping. It requires no configuration, allowing developers to quickly map objects directly.
Installation
Install the package via NuGet:
dotnet add package XAccount.ObjectMappers
using System;
using XAccount.ObjectMappers.Mapper;
public class Source
{
public string Name { get; set; }
public int Age { get; set; }
}
public class Destination
{
public string Name { get; set; }
public int Age { get; set; }
}
public class Program
{
public static void Main()
{
var source = new Source { Name = "Samer", Age = 30 };
var destination = new Destination();
AppObjectMapper.Map(source, destination);
Console.WriteLine($"Name: {destination.Name}, Age: {destination.Age}");
}
}
Mapping Collections
To map a collection of source objects to a collection of destination objects, use the Map method with collections:
using System;
using System.Collections.Generic;
using XAccount.ObjectMappers.Mapper;
public class Source
{
public string Name { get; set; }
public int Age { get; set; }
}
public class Destination
{
public string Name { get; set; }
public int Age { get; set; }
}
public class Program
{
public static void Main()
{
var sourceList = new List<Source>
{
new Source { Name = "Samer", Age = 30 },
new Source { Name = "Emo", Age = 25 }
};
var destinationList = new List<Destination>();
AppObjectMapper.Map(sourceList, destinationList);
foreach (var item in destinationList)
{
Console.WriteLine($"Name: {item.Name}, Age: {item.Age}");
}
}
}
Using Attributes for Mapping
You can use the MapTo attribute to specify the destination property name when the source and destination property names are different: You can use the [MapFrom] and [MapTo] attributes to specify custom mappings between properties or classes. Mapping Classes
using System;
using XAccount.ObjectMappers.Attributes;
using XAccount.ObjectMappers.Mapper;
[MapFrom(typeof(Source))]
public class Destination
{
public string Name { get; set; }
public int Age { get; set; }
}
public class Source
{
public string Name { get; set; }
public int Age { get; set; }
}
public class Program
{
public static void Main()
{
var source = new Source { Name = "Samer", Age = 30 };
var destination = new Destination();
AppObjectMapper.Map(source, destination);
Console.WriteLine($"Name: {destination.Name}, Age: {destination.Age}");
}
}
Mapping Properties
You can use the [MapFrom] and [MapTo] attributes to specify custom mappings between properties or classes.
using System;
using XAccount.ObjectMappers.Attributes;
using XAccount.ObjectMappers.Mapper;
public class Source
{
public string FullName { get; set; }
public int Age { get; set; }
}
public class Destination
{
[MapFrom(typeof(Source), SourcePropertyName = "FullName")]
public string Name { get; set; }
public int Age { get; set; }
}
public class Program
{
public static void Main()
{
var source = new Source { FullName = "John Doe", Age = 30 };
var destination = new Destination();
AppObjectMapper.Map(source, destination);
Console.WriteLine($"Name: {destination.Name}, Age: {destination.Age}");
}
}
License
This project is licensed under the MIT License - see the LICENSE file for details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
1.0.0 | 150 | 6/2/2024 |
you can map direct to use the class AppObjectMapper