Ecologylab.BigSemantics.MetaMetadataNS.InheritanceHandler.Pop C# (CSharp) Метод

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

public Pop ( MetaMetadataField mmField ) : void
mmField MetaMetadataField
Результат void
        public void Pop(MetaMetadataField mmField)
        {
            MetaMetadataField field = mmStack.Pop();
            Debug.WriteLine("popping " + field);
            scopeStack.Pop();
            if (mmField != field)
                throw new MetaMetadataException("mmField != field");
        }

Usage Example

        private bool InheritFromSuperField(MetaMetadataRepository repository, InheritanceHandler inheritanceHandler)
        {
            bool inhertedIsInheriting = false;
            MetaMetadataCompositeField inheritedField = (MetaMetadataCompositeField)SuperField;

            if (inheritedField != null)
            {
                inheritedField.Repository = repository;
                if (inheritedField.InheritInProcess)
                {
                    inhertedIsInheriting = true;

                    // if inheriting from the root mmd, we need to clone and keep the environment right now.
                    InheritanceHandler inheritanceHandlerToUse = inheritanceHandler.clone();
                    inheritanceHandler.Pop(this);

                    //inheritedField.InheritFinished += (sender, e) => InheritFrom(repository, inheritedField);
                    this.AddInheritanceFinishHandler(inheritedField, InheritFieldFinished, inheritanceHandlerToUse);
                }
                else
                {
                    inheritedField.InheritMetaMetadata(inheritanceHandler);
                    InheritFromCompositeField(inheritedField, repository, inheritanceHandler);
                }
            }
            return(inhertedIsInheriting);
        }
All Usage Examples Of Ecologylab.BigSemantics.MetaMetadataNS.InheritanceHandler::Pop