Exemple #1
0
        public void EmitField(string name,
                              Action <ExpressionBuilder> initialiser = null,
                              IEnumerable <string> summary           = null,
                              Action <DocBuilder> docs        = null,
                              IEnumerable <string> attributes = null)
        {
            if (this.hasFirstMember)
            {
                this.writer.WriteLine();
            }
            else
            {
                this.hasFirstMember = true;
            }

            var docBuilder = new DocBuilder(this.writer.GetSubWriter(), summary);

            docs?.Invoke(docBuilder);

            this.writer.Write($"{name}");
            if (initialiser != null)
            {
                writer.Write(" = ");
                initialiser(new ExpressionBuilder(this.writer.GetSubWriter()));
            }
            this.writer.WriteLine(", ");
        }
Exemple #2
0
        private void EmitMemberComments(AccessModifier accessModifier, IEnumerable <string> summary, Action <DocBuilder> docs)
        {
            if (accessModifier == AccessModifier.Public || summary != null || docs != null)
            {
                var docBuilder = new DocBuilder(this.writer.GetSubWriter(), summary);

                docs?.Invoke(docBuilder);
            }
        }
        private void EmitTypePreamble(IEnumerable <string> summary, Action <DocBuilder> docs, IEnumerable <string> attributes)
        {
            if (this.hasFirstElement)
            {
                this.writer.WriteLine();
            }
            else
            {
                this.hasFirstElement = true;
            }

            var docsBuilder = new DocBuilder(this.writer.GetSubWriter(), summary);

            docs?.Invoke(docsBuilder);

            if (attributes != null)
            {
                foreach (var attributeName in attributes)
                {
                    this.writer.WriteLine($"[{attributeName}]");
                }
            }
        }