System.Web.Razor.RazorDebugHelpers.WriteGeneratedCode C# (CSharp) Method

WriteGeneratedCode() private method

private WriteGeneratedCode ( string sourceFile, CodeCompileUnit codeCompileUnit ) : void
sourceFile string
codeCompileUnit System.CodeDom.CodeCompileUnit
return void
        internal static void WriteGeneratedCode(string sourceFile, CodeCompileUnit codeCompileUnit)
        {
            if (!OutputDebuggingEnabled)
            {
                return;
            }

            RunTask(() =>
            {
                string extension = Path.GetExtension(sourceFile);
                RazorCodeLanguage language = RazorCodeLanguage.GetLanguageByExtension(extension);
                CodeDomProvider provider = CodeDomProvider.CreateProvider(language.LanguageName);

                using (var writer = new StringWriter())
                {
                    // Trim the html part of cshtml
                    string outputExtension = extension.Substring(0, 3);
                    string outputFileName = Normalize(sourceFile) + "_generated" + outputExtension;
                    string outputPath = Path.Combine(Path.GetDirectoryName(sourceFile), outputFileName);

                    // REVIEW: Do these options need to be tweaked?
                    provider.GenerateCodeFromCompileUnit(codeCompileUnit, writer, new CodeGeneratorOptions());
                    File.WriteAllText(outputPath, writer.ToString());
                }
            });
        }

Usage Example

示例#1
0
        private void OnDocumentParseComplete(DocumentParseCompleteEventArgs args)
        {
            Debug.Assert(args != null, "Event arguments cannot be null");
            EventHandler <DocumentParseCompleteEventArgs> handler = DocumentParseComplete;

            if (handler != null)
            {
                handler(this, args);
            }
#if DEBUG
            RazorDebugHelpers.WriteDebugTree(FileName, args.GeneratorResults.Document, PartialParseResult.Rejected, args.SourceChange, this, args.TreeStructureChanged);
            RazorDebugHelpers.WriteGeneratedCode(FileName, args.GeneratorResults.GeneratedCode);
#endif
        }
All Usage Examples Of System.Web.Razor.RazorDebugHelpers::WriteGeneratedCode