diff --git a/Esiur/Data/Map.cs b/Esiur/Data/Map.cs index 087bb81..52ae333 100644 --- a/Esiur/Data/Map.cs +++ b/Esiur/Data/Map.cs @@ -71,7 +71,7 @@ public class Map : IEnumerable>, IMap (Func, KeyValuePair> selector) { var rt = new Map(); - foreach(var kv in dic) + foreach (var kv in dic) { var nt = selector(kv); rt.dic.Add(nt.Key, nt.Value); @@ -94,7 +94,7 @@ public class Map : IEnumerable>, IMap return rt.TrimEnd('\r', '\n'); } - public Map(Map source) + public Map(Map source) { dic = source.dic; } @@ -103,7 +103,7 @@ public class Map : IEnumerable>, IMap } - public static Map FromMap(Map source, Type destinationType) + public static Map FromMap(Map source, Type destinationType) { var rt = Activator.CreateInstance(destinationType) as Map; rt.dic = source.dic; @@ -117,7 +117,7 @@ public class Map : IEnumerable>, IMap // return rt; //} - // public static explicit operator Map(ExpandoObject obj) => FromDynamic(obj); + // public static explicit operator Map(ExpandoObject obj) => FromDynamic(obj); public static Map FromDynamic(ExpandoObject obj) { @@ -127,11 +127,18 @@ public class Map : IEnumerable>, IMap return rt; } - public static Map FromObject(object obj) + public static Map FromDictionary(Dictionary source) + { + var rt = new Map(); + rt.dic = source; + return rt; + } + + public static Map FromObject(object obj) { var type = obj.GetType(); - var st = new Map(); + var st = new Map(); var pi = type.GetTypeInfo().GetProperties().Where(x => x.CanRead); foreach (var p in pi) @@ -190,9 +197,9 @@ public class Map : IEnumerable>, IMap } public KT[] GetKeys() => dic.Keys.ToArray();//GetKeys() - //{ - // return dic.Keys.ToArray(); - //} + //{ + // return dic.Keys.ToArray(); + //} public void Add(KT key, VT value) { @@ -200,7 +207,7 @@ public class Map : IEnumerable>, IMap dic[key] = value; else dic.Add(key, value); - } + } public void Add(object key, object value) { @@ -225,7 +232,7 @@ public class Map : IEnumerable>, IMap public object[] Serialize() { var rt = new List(); - foreach(var kv in dic) + foreach (var kv in dic) { rt.Add(kv.Key); rt.Add(kv.Value);