コード例 #1
0
        public string GetCodeAsNavigatableHtml(ISemanticModel semanticModel, IDotNetSourceCodeNavigationSyntaxWalker syntaxWalker)
        {
            var htmlBuilder = new StringBuilder();
            syntaxWalker.DoVisit(semanticModel, (tk, text, fullyQualifiedName) =>
            {
                if (tk == TokenKind.None)
                {
                    htmlBuilder.Append(System.Web.HttpUtility.HtmlEncode(text));
                }
                else
                {
                    htmlBuilder.Append(string.Format(@"<a href=""javascript:$.goToDefinition('{0}')"">{1}</a>", fullyQualifiedName, text));
                }
            });

            return htmlBuilder.ToString();
        }
コード例 #2
0
        public string GetCodeAsNavigatableHtml(ISemanticModel semanticModel, IDotNetSourceCodeNavigationSyntaxWalker syntaxWalker)
        {
            var htmlBuilder = new StringBuilder();

            syntaxWalker.DoVisit(semanticModel, (tk, text, fullyQualifiedName) =>
            {
                if (tk == TokenKind.None)
                {
                    htmlBuilder.Append(System.Web.HttpUtility.HtmlEncode(text));
                }
                else
                {
                    htmlBuilder.Append(string.Format(@"<a href=""javascript:$.goToDefinition('{0}')"">{1}</a>", fullyQualifiedName, text));
                }
            });

            return(htmlBuilder.ToString());
        }
コード例 #3
0
        public string GetCodeAsNavigatableHtml(string sourceCode, IDotNetSourceCodeNavigationSyntaxWalker syntaxWalker)
        {
            var htmlBuilder = new StringBuilder();
            syntaxWalker.DoVisit(sourceCode, (tk, text, start) =>
            {
                switch (tk)
                {
                    case TokenKind.ObjectCreation:
                    case TokenKind.MethodCall:
                        htmlBuilder.Append(string.Format(@"<a href=""javascript:$.goToDefinition('{0}', '{1}', {2})"">{1}</a>", tk, text, start.GetValueOrDefault()));
                        break;
                    default:
                        htmlBuilder.Append(System.Web.HttpUtility.HtmlEncode(text));
                        break;
                }
            });

            return htmlBuilder.ToString();
        }