private void WriteTextFiles() { for (int i = 0; i < textFiles.Count; i++) { TextFile textFile = textFiles[0]; string directory = options.GetOutputDirectoryForFileType(textFile.Filename); string fileName = Path.Combine(directory, textFile.Filename); FileStream fs = null; try { fs = File.Open(fileName, FileMode.Create, FileAccess.Write, FileShare.None); StreamWriter writer = new StreamWriter(fs); writer.Write(textFile.Content); writer.Flush(); } catch (IOException e) { throw new CodeWriterException(string.Format( "An error occurred while trying write to file {0}: {1}", fileName, e.Message), e); } finally { if (fs != null) { fs.Dispose(); } } generatedCodeFileNames[codeFilesCount + i] = fileName; } }