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
{
//
}
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
Curtir tópico
+ 0
Responder
Posts
03/01/2008
Rjun
Você pode fazer isso através de reflection.
Suponha que você tenha uma classe chamada Teste.
ou você pode retonar o tipo direto da interface
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
Clique aqui para fazer login e interagir na Comunidade :)