示例#1
0
        public bool AreAtomsCountEqual(IChemicalStack stack)
        {
            if (stack is ElementStack elementStack)
            {
                return(Equals(elementStack));
            }
            else if (stack is CompoundStack compoundStack &&
                     compoundStack.Nodes.Count == 1 &&
                     compoundStack.Nodes[0] is ElementStack innerElementStack)
            {
                return(Equals(innerElementStack));
            }

            return(false);
        }
示例#2
0
 /// <summary>
 /// Optional method which is used when writing Chemical Compound into string.
 /// </summary>
 /// <param name="builder"> Contains currently parsed Stacks. </param>
 /// <param name="stack"> Currently parsed Stack. Unknown to the library, could be User own implementation. </param>
 protected virtual void WriteUnknownStack(StringBuilder builder, IChemicalStack stack)
 {
 }