System.Yaml.Serialization.YamlRepresenter.DictionaryToMap C# (CSharp) Méthode

DictionaryToMap() private méthode

private DictionaryToMap ( object obj ) : YamlMapping
obj object
Résultat YamlMapping
        private YamlMapping DictionaryToMap(object obj)
        {
            var accessor = ObjectMemberAccessor.FindFor(obj.GetType());
            var iter = ( (IEnumerable)obj ).GetEnumerator();
            var dictionary = map();
            Func<object, object> key = null, value = null;
            while ( iter.MoveNext() ) {
                if ( key == null ) {
                    var keyvalue = iter.Current.GetType();
                    var keyprop = keyvalue.GetProperty("Key");
                    var valueprop = keyvalue.GetProperty("Value");
                    key = o => keyprop.GetValue(o, new object[0]);
                    value = o => valueprop.GetValue(o, new object[0]);
                }
                dictionary.Add(
                    ObjectToNode(key(iter.Current), accessor.KeyType),
                    ObjectToNode(value(iter.Current), accessor.ValueType)
                    );
            }
            return dictionary;
        }