title: Design different signatures with same name in derived classes
body: <p>I want to achieve static calls like <code>File.XLS.Export(columnNames, dbNames);</code> or <code>File.CSV.Export(delimiter, columnNames, dbNames);</code></p>
  
  <p>By now I designed a abstract class and let CSV and XLS inherit from it.
  As you can see I may need a different signature when using a CSV export. I could do an overload, but I don't want to see that overload in the XLS export, because it's totally useless there.</p>
  
  <p>So how can I hide this specific implementation in my XLS export? Are there maybe any patterns I can use?</p>