Interfaces c#

03/01/2008

0

Como é possivel saber se uma determinada classe implementa uma interface?
Por exemplo: Tenho controles no meu WinForms que implementam uma interface e para esses controles eu teria um tratamento especial.

//interface
public interface IMyComponentes
{
string Metodo1
{
set;
get;
}

string Metodo2
{
set;
get;
}
}

//controle
public class MyTextBox:IMyComponentes
{
//
}


Abrzz

Abrzz

Responder

Posts

03/01/2008

Rjun

Você pode fazer isso através de reflection.
Suponha que você tenha uma classe chamada Teste.

Teste teste;
Type[] tipos;

// Retorna as interfaces que a classe teste implementa
tipos = teste.GetType().GetInterfaces();

// Agora procure em tipos e veja se a classe implementa a interface
// desejada


ou você pode retonar o tipo direto da interface

Teste teste;
Type tipo;

// Retorna as interfaces que a classe teste implementa
tipo = teste.GetType().GetInterface("NomeDaInterface");

// Se tipo for diferente de null a classe implementa a interface que
// você passou como parâmetro



Responder

04/01/2008

Abrzz

ok RJun!
Deu certo, obrigado!


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar