Skip to content
/ aqua-core Public

Transform any object-graph into a dynamic, composed dictionaries like structure, holding serializable values and type information

License

Notifications You must be signed in to change notification settings

6bee/aqua-core

Folders and files

NameName
Last commit message
Last commit date
Jul 10, 2024
Mar 9, 2025
Mar 5, 2025
Nov 21, 2024
Dec 20, 2023
Dec 13, 2023
Jun 14, 2024
May 21, 2020
Dec 18, 2024
Nov 21, 2024
Mar 5, 2025
Mar 5, 2025
Dec 13, 2023
Dec 13, 2023
Nov 21, 2024
Jun 7, 2020
Sep 14, 2023
Jan 29, 2024
Jun 30, 2019
Jul 24, 2015
Sep 29, 2021
Jun 25, 2021
Jul 1, 2021
Jul 1, 2021
Dec 18, 2024
Oct 22, 2018
Apr 20, 2016
Dec 22, 2024

Repository files navigation

aqua-core

GitHub license Github Workflow

branch AppVeyor Travis CI Codecov.io Codacy CodeFactor
main AppVeyor Build Status Travis Build Status codecov Codacy Badge CodeFactor
package nuget myget
aqua-core NuGet Badge MyGet Pre Release
aqua-core-newtonsoft-json NuGet Badge MyGet Pre Release
aqua-core-protobuf-net NuGet Badge MyGet Pre Release
aqua-core-text-json NuGet Badge MyGet Pre Release

Transform any object-graph into a dynamic, composed dictionaries like structure, holding serializable values and type information.

Aqua-core provides a bunch of serializable classes:

  • DynamicObject
  • TypeInfo
  • FieldInfo
  • PropertyInfo
  • MethodInfo
  • ConstructorInfo

Any object graph may be translated into a DynamicObject structure and back to it's original type using DynamicObjectMapper.

Sample

Mapping an object graph into a DynamicObject and then back to it's original type

Blog blog = new Blog
{
    Title = ".NET Blog",
    Description = "A first-hand look from the .NET engineering teams",
    Posts = new[]
    {
        new Post
        {
            Title = "Announcing .NET Core 1.0",
            Date = new DateTime(2016, 6, 27),
            Author = "rlander"
            Text = "We are excited to announce the release of .NET Core 1.0, ASP.NET Core 1.0 and " +
               "Entity Framework Core 1.0, available on Windows, OS X and Linux! " +
               ".NET Core is a cross-platform, open source, and modular .NET platform [...]",
        },
        new Post
        {
            Title = "Happy 15th Birthday .NET!",
            Date = new DateTime(2017, 2, 13),
            Author = "bmassi",
            Text = "Today marks the 15th anniversary since .NET debuted to the world [...]",
        }
    }
}

DynamicObject dynamicObject = new DynamicObjectMapper().MapObject(blog);

Blog restoredBlog = new DynamicObjectMapper().Map(dynamicObject) as Blog;

About

Transform any object-graph into a dynamic, composed dictionaries like structure, holding serializable values and type information

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages