Нет, вы не переопределите это.Вы предоставляете метод с другой подписью.Учтите это:
new SpecificMerchant().WriteResults(new List<string>());
Может ли возможно вызвать метод в SpecificMerchant
?Нет - вы указали аргумент, а SpecificMerchant.WriteResults
не указывает никаких параметров.Уже один этот факт показывает, что он не может переопределить Merchant.WriteResults
.
Ваш код, безусловно, может вызвать путаницу, поскольку перегрузка в иерархии типов часто делает даже без необязательных параметров - но насколькочто касается компилятора C # и CLR, то это очень разные методы ... Случается, что оба будут валидными для вызова без заданных аргументов, но это другой вопрос.