Pourquoi exprimées à une interface?

Jesse Liberty de Programmation C# (p.142), il fournit un exemple dans lequel il jette un objet à une interface.

 interface IStorable
 {
    ...
 }

 public class Document : IStorable
 {
    ...
 }

 ...
 IStorable isDoc = (IStorable) doc;  
 ...

Quel est l'intérêt de cette mesure, notamment si la classe de l'objet implémente l'interface de toute façon?

EDIT1: Pour clarifier, je suis intéressé par le raison de la fonte (le cas échéant), pas la raison de la mise en œuvre d'interfaces. Aussi, le livre est son 2001 de la Première Édition (basé sur le C#1 afin de l'exemple peut ne pas être pertinent pour les dernières versions de C#).

EDIT2: j'ai ajouté un peu de contexte pour le code

  • Ma première hypothèse était explicite conversion définie par l'utilisateur, mais en fait d'après (6.4.1) vous ne pouvez pas définir explicitement définis par l'utilisateur en fonte pour une interface.
  • J'ai trouvé l'article équivalent dans la version la plus récente, mais il semble que c'est un peu différent.
  • merci pour regarder, jusqu'
  • Voulez-vous dire pourquoi le cast explicite à une interface, ou voulez-vous dire "pourquoi s'en jetant de l'interface à tous?"
  • Je veux dire pourquoi le cast explicite et est-il nécessaire/utile/redondante?
InformationsquelleAutor eft | 2009-03-06