Явная реализация интерфейса в C#
Имя интерфейса перед методом убирает его из публичной поверхности класса. Вызов идёт через переменную интерфейса.
В классе два метода с одним именем. Публичный возвращает "public", явная реализация интерфейса возвращает "explicit". Вызов идёт через переменную интерфейса и попадает во вторую:
Worker w = new Worker();
IRun r = w;
Console.WriteLine(r.Go()); // выведет "explicit"
interface IRun { string Go(); }
class Worker : IRun
{
public string Go() => "public";
string IRun.Go() => "explicit";
}
Сделайте две версии сохранения: публичную и скрытую для интерфейса хранилища.
Вызовите скрытую версию сохранения для строки "report" и выведите её в консоль.