В Программировании Джесси Либерти на C # (стр. 142) он приводит пример, где он приводит объект к интерфейсу.
interface IStorable
{
...
}
public class Document : IStorable
{
...
}
...
IStorable isDoc = (IStorable) doc;
...
Какой смысл в этом, особенно если класс объекта в любом случае реализует интерфейс?
EDIT1: чтобы уточнить, меня интересует причина приведения (если есть) , , а не причина реализации интерфейсов. Кроме того, эта книга является его первым изданием 2001 года (на основе C # 1, поэтому этот пример может оказаться неуместным для более поздних версий C #).
EDIT2: я добавил некоторый контекст в код