You might want to do that if the class has an explicit implementation of an interface method. Consider this example:
public interface ISomething { void Action(); }
public interface ISomethingElse {void Action(); }
public class Something : ISomething
{
public void Action()
{
}
void ISomething.Action()
{
}
}
public class Something2 : ISomething, ISomethingElse
{
void ISomething.Action()
{
}
void ISomethingElse.Action()
{
}
}
If you want ISomething.Action to be called on Something, then you use have to call it through an ISomething variable. Even in Something2, the Action method is hidden if you don't do it through the interface.
That said, you usually want to avoid having implementations like that. I doubt a framework class would force you into that, but that would be the scenario to declare it with the interface.
Update 1: To clear it up a bit, some extra code on how to get to the methods:
Something some = new Something();
some.Action(); //calls the regular Action
ISomething isome = some;
isome.Action(); //calls the ISomething.Action
((ISomething)some).Action(); //again, calls ISomething.Action
Something2 some2 = new Something2();
some2.Action();//compile error
((ISomething)some2).Action(); //calls ISomething.Action
((IsomethingElse)some2).Action(); // calls ISomethingElse.Action