/// <summary> /// Returns the appropriate implementation of <see cref="IResourceWriter" /> to use to /// generate the output file as directed by the command line arguments. /// </summary> /// <param name="name">The name of the output file.</param> /// <param name="type">The output file type.</param> /// <returns>The <see cref="IResourceWriter" /> to write to.</returns> private static IResourceWriter GetResourceWriter(string name, ResourceOutputType type) { IResourceWriter result; if (type == ResourceOutputType.Resource) { result = new ResourceWriter(name); } else { result = new ResXResourceWriter(name); } return result; }
/// <summary> /// Returns the given file name with the extension set based on the given resource output type. /// </summary> /// <param name="fileName">The file name to change.</param> /// <param name="type">The <see cref="ResourceOutputType" />.</param> /// <returns>The file extension to use.</returns> public static string ChangeExtension(string fileName, ResourceOutputType type) { var extension = type == ResourceOutputType.Resource ? ".resources" : ".resx"; return Path.ChangeExtension(fileName, extension); }
/// <summary> /// Initializes a new instance of the <see cref="ResourceOutput" /> class. /// </summary> /// <param name="name">The output file name.</param> /// <param name="type">The resource type.</param> public ResourceOutput(string name, ResourceOutputType type) { OutputFileName = ChangeExtension(name, type); resourceWriter = GetResourceWriter(OutputFileName, type); }