quarta-feira, julho 02, 2008

Derivação de interfaces e o Resharper

Parece que isto são duas coisas que não se dão lá muito bem. Fiz algo do género:
public interface IBase
{
void BaseMethod();
}

public interface IDerivation: IBase
{
void DerivationMethod();
}

public class Implementation: IDerivation
{
...
}
A seguir crio um objecto:
IDerivation obj = new Implementation();

E fico espantado quando faço obj. e o Intellisense não me é mostrado o BaseMethod destacado a negrito (numa primeira fase nem reparei que ele lá estava). Ao princípio ainda pensei que fosse problema meu - "será que estou a ver mal o filme e tenho de fazer um cast explicito para IBase" - mas ao mesmo tempo não me fazia sentido porque isto ia contra as regras de herança. Bem, o problema é do resharper que não mostra os métodos de uma interface derivada em destaque na listagem do Intellisense.

Sem comentários: