BTDB.EventStoreLayer.ObjectTypeDescriptor.CloneAndMapNestedTypes C# (CSharp) Метод

CloneAndMapNestedTypes() публичный Метод

public CloneAndMapNestedTypes ( ITypeDescriptorCallbacks typeSerializers, ITypeDescriptor>.Func map ) : ITypeDescriptor
typeSerializers ITypeDescriptorCallbacks
map ITypeDescriptor>.Func
Результат ITypeDescriptor
        public ITypeDescriptor CloneAndMapNestedTypes(ITypeDescriptorCallbacks typeSerializers, Func<ITypeDescriptor, ITypeDescriptor> map)
        {
            var tds = new ITypeDescriptor[_fields.Count];
            for (var i = 0; i < _fields.Count; i++)
            {
                tds[i] = map(_fields[i].Value);
            }
            if (typeSerializers == _typeSerializers && tds.SequenceEqual(_fields.Select(i => i.Value)))
                return this;
            var nfs = new List<KeyValuePair<string, ITypeDescriptor>>(tds.Length);
            for (var i = 0; i < _fields.Count; i++)
            {
                nfs.Add(new KeyValuePair<string, ITypeDescriptor>(_fields[i].Key,tds[i]));
            }
            return new ObjectTypeDescriptor(typeSerializers, _name, Sealed, nfs);
        }