Во всех подробностях изучаем интерфейс IFormatable. На удивление, он содержит всего один метод, который принимает 2 параметра. Где и как вам пригодиться реализация IFormatable, вы узнаете из этого урока.