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


C# OutputKind.GetDefaultExtension方法代码示例

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


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

示例1: GetCompilationAndModuleNames

        private void GetCompilationAndModuleNames(
            List<Diagnostic> diagnostics,
            OutputKind outputKind,
            List<CommandLineSourceFile> sourceFiles,
            bool sourceFilesSpecified,
            string moduleAssemblyName,
            ref string outputFileName,
            ref string moduleName,
            out string compilationName)
        {
            string simpleName;
            if (outputFileName == null)
            {
                // In C#, if the output file name isn't specified explicitly, then executables take their
                // names from the files containing their entrypoints and libraries derive their names from 
                // their first input files.

                if (!IsInteractive && !sourceFilesSpecified)
                {
                    AddDiagnostic(diagnostics, ErrorCode.ERR_OutputNeedsName);
                    simpleName = null;
                }
                else if (outputKind.IsApplication())
                {
                    simpleName = null;
                }
                else
                {
                    simpleName = PathUtilities.RemoveExtension(PathUtilities.GetFileName(sourceFiles.FirstOrDefault().Path));
                    outputFileName = simpleName + outputKind.GetDefaultExtension();

                    if (simpleName.Length == 0 && !outputKind.IsNetModule())
                    {
                        AddDiagnostic(diagnostics, ErrorCode.FTL_InputFileNameTooLong, outputFileName);
                        outputFileName = simpleName = null;
                    }
                }
            }
            else
            {
                simpleName = PathUtilities.RemoveExtension(outputFileName);

                if (simpleName.Length == 0)
                {
                    AddDiagnostic(diagnostics, ErrorCode.FTL_InputFileNameTooLong, outputFileName);
                    outputFileName = simpleName = null;
                }
            }

            if (outputKind.IsNetModule())
            {
                Debug.Assert(!IsInteractive);

                compilationName = moduleAssemblyName;
            }
            else
            {
                if (moduleAssemblyName != null)
                {
                    AddDiagnostic(diagnostics, ErrorCode.ERR_AssemblyNameOnNonModule);
                }

                compilationName = simpleName;
            }

            if (moduleName == null)
            {
                moduleName = outputFileName;
            }
        }
开发者ID:LunicLynx,项目名称:roslyn,代码行数:70,代码来源:CommandLineParser.cs

示例2: GetCompilationAndModuleNames

        private void GetCompilationAndModuleNames(
            List<Diagnostic> diagnostics,
            OutputKind outputKind,
            List<CommandLineSourceFile> sourceFiles,
            bool sourceFilesSpecified,
            string moduleAssemblyName,
            ref string outputFileName,
            ref string moduleName,
            out string compilationName)
        {
            // simple name
            string simpleName = null;
            if (outputFileName != null)
            {
                simpleName = PathUtilities.GetFileName(outputFileName, false);
            }
            else if (sourceFiles.Count != 0)
            {
                simpleName = PathUtilities.GetFileName(sourceFiles[0].Path, false);
            }
            else
            {
                throw new ArgumentException("No source files specified.");  // TODO: ErrorCode
            }

            // assembly name
            compilationName = simpleName;

            if (moduleName == null)
            {
                moduleName = simpleName;
            }

            // file name
            if (outputFileName == null)
            {
                outputFileName = simpleName + outputKind.GetDefaultExtension();
            }
        }
开发者ID:iolevel,项目名称:peachpie,代码行数:39,代码来源:PhpCommandLineParser.cs


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