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

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

public GenerateTypeIterator ( IILGen ilGenerator, Action pushObj, Action pushCtx, Type type ) : void
ilGenerator IILGen
pushObj Action
pushCtx Action
type System.Type
Результат void
            public void GenerateTypeIterator(IILGen ilGenerator, Action<IILGen> pushObj, Action<IILGen> pushCtx, Type type)
            {
                var allProps = _objectTypeDescriptor.GetPreferedType().GetProperties();
                foreach (var pair in _objectTypeDescriptor._fields)
                {
                    if (pair.Value.Sealed) continue;
                    ilGenerator
                        .Do(pushCtx)
                        .Do(pushObj)
                        .Castclass(_objectTypeDescriptor._type)
                        .Callvirt(allProps.First(p => GetPersitentName(p) == pair.Key).GetGetMethod())
                        .Callvirt(() => default(IDescriptorSerializerLiteContext).StoreNewDescriptors(null));
                }
            }
ObjectTypeDescriptor.TypeNewDescriptorGenerator