public static CodeWriterOutput Write(CodeNamespace codeNamespace, Configuration configuration, CodeWriterOptions options, List<TextFile> textFiles, CodeDomProvider provider)
{
// Create a new instance of CodeWriter class with given options.
CodeWriter writer = new CodeWriter(codeNamespace, configuration, options, textFiles, provider);
// Execute the code writing procedure.
writer.WriteCodeFiles();
// Crate an instance of CodeWriterOutput class with the code writer's output.
CodeWriterOutput output = new CodeWriterOutput(writer.generatedCodeFileNames, writer.configurationFile);
// Finally return the CodeWriterOutput.
return output;
}