当前位置: 首页>>代码示例>>C#>>正文


C# ILanguage.CommentLines方法代码示例

本文整理汇总了C#中ILanguage.CommentLines方法的典型用法代码示例。如果您正苦于以下问题:C# ILanguage.CommentLines方法的具体用法?C# ILanguage.CommentLines怎么用?C# ILanguage.CommentLines使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ILanguage的用法示例。


在下文中一共展示了ILanguage.CommentLines方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: WriteTypeToFile

        public bool WriteTypeToFile(TypeDefinition type, IProjectItemFileWriter itemWriter, Dictionary<string, ICollection<string>> membersToSkip, bool shouldBePartial,
            ILanguage language, out List<WritingInfo> writingInfos, out string theCodeString)
        {
			theCodeString = string.Empty;
			writingInfos = null;
            StringWriter theWriter = new StringWriter();

			IFormatter formatter = GetFormatter(theWriter);
            ILanguageWriter writer = language.GetWriter(formatter, this.exceptionFormater, true);

            IWriterContextService writerContextService = this.GetWriterContextService();

            bool exceptionOccurred = false;

            try
            {
				bool showCompilerGeneratedMembers = Utilities.IsVbInternalTypeWithoutRootNamespace(type) ||
													Utilities.IsVbInternalTypeWithRootNamespace(type);

                if (!(writer is INamespaceLanguageWriter))
                {
					writingInfos = writer.Write(type, writerContextService, decompilationPreferences.WriteDocumentation, showCompilerGeneratedMembers);
                }
                else
                {

                    if (shouldBePartial)
                    {
						writingInfos = (writer as INamespaceLanguageWriter).WritePartialTypeAndNamespaces(type, writerContextService, showCompilerGeneratedMembers,
							decompilationPreferences.WriteFullNames, decompilationPreferences.WriteDocumentation, membersToSkip);
                    }
                    else
                    {
						writingInfos = (writer as INamespaceLanguageWriter).WriteTypeAndNamespaces(type, writerContextService, decompilationPreferences.WriteDocumentation, showCompilerGeneratedMembers, decompilationPreferences.WriteFullNames);
                    }
                }

                RecordGeneratedFileData(type, itemWriter.FullSourceFilePath, theWriter, formatter, writerContextService, writingInfos);

                MemoryStream sourceFileStream = new MemoryStream(Encoding.UTF8.GetBytes(theWriter.ToString()));
                itemWriter.CreateProjectSourceFile(sourceFileStream);
                sourceFileStream.Close();
                theWriter.Close();
            }
            catch (Exception e)
            {
                exceptionOccurred = true;

                string[] exceptionMessageLines = exceptionFormater.Format(e, type.FullName, itemWriter.FullSourceFilePath);
                string exceptionMessage = string.Join(Environment.NewLine, exceptionMessageLines);
                string commentedExceptionMessage = language.CommentLines(exceptionMessage);
                itemWriter.CreateProjectSourceFile(new MemoryStream(Encoding.UTF8.GetBytes(commentedExceptionMessage)));
            }

			theCodeString = theWriter.ToString();
            return exceptionOccurred || writerContextService.ExceptionsWhileDecompiling.Any();
        }
开发者ID:besturn,项目名称:JustDecompileEngine,代码行数:57,代码来源:MSBuildProjectBuilder.cs


注:本文中的ILanguage.CommentLines方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。