示例#1
0
        public static string GetLanguageFileName([NotNull] this ProjectFile projectFile, [NotNull] CultureInfo culture)
        {
            var extension = projectFile.Extension;
            var filePath  = projectFile.FilePath;

            if (Resx.Equals(extension, StringComparison.OrdinalIgnoreCase))
            {
                return(Path.ChangeExtension(filePath, culture.ToString()) + @".resx");
            }

            if (Resw.Equals(extension, StringComparison.OrdinalIgnoreCase))
            {
                var languageFileName = Path.Combine(projectFile.GetBaseDirectory(), culture.ToString(), Path.GetFileName(filePath));
                return(languageFileName);
            }

            throw new InvalidOperationException("Extension not supported: " + extension);
        }
        public static string GetLanguageFileName([NotNull] this ProjectFile projectFile, [NotNull] CultureInfo culture)
        {
            Contract.Requires(projectFile != null);
            Contract.Requires(culture != null);
            Contract.Ensures(!string.IsNullOrEmpty(Contract.Result<string>()));

            var extension = projectFile.Extension;
            var filePath = projectFile.FilePath;

            if (Resx.Equals(extension, StringComparison.OrdinalIgnoreCase))
            {
                return Path.ChangeExtension(filePath, culture.ToString()) + @".resx";
            }

            if (Resw.Equals(extension, StringComparison.OrdinalIgnoreCase))
            {
                var languageFileName = Path.Combine(projectFile.GetBaseDirectory(), culture.ToString(), Path.GetFileName(filePath));
                Contract.Assume(!string.IsNullOrEmpty(languageFileName));
                return languageFileName;
            }

            throw new InvalidOperationException("Extension not supported: " + extension);
        }