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

CreateArrayNodeSub() private méthode

private CreateArrayNodeSub ( Array array, int i, long indices ) : YamlNode
array Array
i int
indices long
Résultat YamlNode
        private YamlNode CreateArrayNodeSub(Array array, int i, long[] indices)
        {
            var type= array.GetType();
            var element = type.GetElementType();
            var sequence = seq();
            if ( i == 0 ) {
                sequence.Tag = TypeNameToYamlTag(type);
                AppendToAppeared(array, sequence);
            }
            if ( element.IsPrimitive || element.IsEnum || element == typeof(decimal) )
                if ( array.Rank == 1 || ArrayLength(array, i+1) < 20 )
                    sequence.Properties["Compact"] = "true";
            for ( indices[i] = 0; indices[i] < array.GetLength(i); indices[i]++ )
                if ( i == array.Rank - 1 ) {
                    var n = ObjectToNode(array.GetValue(indices), type.GetElementType());
                    sequence.Add(n);
                } else {
                    var s = CreateArrayNodeSub(array, i + 1, indices);
                    sequence.Add(s);
                }
            return sequence;
        }