Skip to content
This repository has been archived by the owner on Jun 9, 2020. It is now read-only.

C# DynamicDictionary based on Nancy.DynamicDictionary, but with a twist

License

Notifications You must be signed in to change notification settings

Davidblkx/DynamicDictionary

Repository files navigation

DynamicDictionary

DynamicDictionary is a Dictionary written in C# that support multiple types, and where every value as potencial to be an IEnumerable of self. It is based on DynamicDictionary implementation from Nancy

Main Features

Support multiple types

using Dynamic;

DynamicDictionary artist = new DynamicDictionary();
artist["Name"] = "Pink Floyd";
artist["Started"] = new DateTime(1965, 12, 1);

It's Dynamic

dynamic dyn = artist;

dyn.Genres = "Rock";

string name = dyn.name;
// name = "Pink Floyd"

Every type could be IEnumerable

dyn.genres.AddRange(new []{"Psycadelic Rock", "Art Rock"});

string genre = dyn.genres;
//genre = "Rock"

List<string> genres = dyn.genres;
//genres = {"Rock", "Psycadelic Rock", "Art Rock"}

string otherGenre = dyn.genres[2];
//otherGenre = "Art Rock"

Custom operators support

dyn.genres += "Progressive Rock";
//{"Rock", "Psycadelic Rock", "Art Rock", "Progressive Rock"}

dyn.genres -= "Art Rock";
//{"Rock", "Psycadelic Rock", "Progressive Rock"}

Easily serialized

var jsonString = JsonConvert.SerializeObject(dyn.ToSerializableDictionary());

//and

string serializable = JsonConvert.DeserializeObject<Dictionary<string, DynamicListValueSerializable>>(jsonString);
DynamicDictionary dictionary = DynamicDictionary.FromSerializable(serializable);

About

C# DynamicDictionary based on Nancy.DynamicDictionary, but with a twist

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages