public void Process(Report report) { switch (report.ExportFormat) { case ExportFormat.Xml: _xmlFormatter.Export(report); break; case ExportFormat.Csv: _csvFormatter.Export(report); break; default: throw new ArgumentOutOfRangeException(); } }