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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar