Esempio n. 1
0
        /// <summary>
        ///     Adds a parser.
        /// </summary>
        /// <param name="id">The identifier.</param>
        /// <param name="helpSetupCallback">The help setup callback.</param>
        /// <returns>ParserBuilder.</returns>
        public ParserBuilder AddParser(string id, Action <ParserHelpBuilder> helpSetupCallback = null)
        {
            var parser = ParserRepository.Create(id);

            HierarchyRepository.AddParser(id);
            parser = OnParserCreated(parser);
            if (helpSetupCallback == null)
            {
                var newBuilder = new ParserBuilder(this, parser);
                newBuilder.ParameterCreated += (sender, args) =>
                {
                    OnParameterCreated(args);
                };
                return(newBuilder);
            }

            var builder = new ParserHelpBuilder(parser);

            helpSetupCallback(builder);
            parser.Help = builder.Build();
            var parserBuilder = new ParserBuilder(this, parser);

            parserBuilder.ParameterCreated += (sender, args) =>
            {
                OnParameterCreated(args);
            };
            return(parserBuilder);
        }
Esempio n. 2
0
 /// <summary>
 ///     Creates a parent child relationship.
 /// </summary>
 /// <param name="parent">The parent.</param>
 /// <param name="child">The child.</param>
 /// <returns>ContextBuilder.</returns>
 public ContextBuilder CreateParentChildRelationship(string parent, string child)
 {
     HierarchyRepository.EstablishParentChildRelationship(parent, child);
     return(this);
 }