Verifier si un objet implemente une interface. [Résolu]

The Meteorologist 241 Messages postés jeudi 18 janvier 2007Date d'inscription 3 novembre 2011 Dernière intervention - 10 août 2008 à 02:53 - Dernière réponse : The Meteorologist 241 Messages postés jeudi 18 janvier 2007Date d'inscription 3 novembre 2011 Dernière intervention
- 10 août 2008 à 14:54
Bonjour,
Comment peut-ton savoir si un objet implémente bien une interface ? Si je n'ai pas été clair voici un exemple ^^ :

Public Interface IDemo

End Interface

Public Class ClassDemo
Implements IDemo

End Class

Public Class ClassDemo2
Dim Demo As New ClassDemo

'Comment vérifier si Demo implémente IDemo ?
End Class

Merci pour vos réponses =)

Simon.
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Kevin.Ory 843 Messages postés mercredi 22 octobre 2003Date d'inscription 7 janvier 2009 Dernière intervention - 10 août 2008 à 04:17
3
Merci
Salut,

Tu peux essayer de faire un cast dans un Try / Catch :
Dim myObject As New Plugin
Try
    Dim myPlugin As IPlugin = myObject
    ' myObject implémente IPlugin
Catch ex As Exception
    ' myObject n'implémente pas IPlugin
End Try

Ou sinon tu peux utiliser des méthodes de System.Type :
Dim myObject As New Plugin
Dim myType As Type = myObject.GetType
If myType.GetInterface("IPlugin", True) IsNot Nothing Then
    ' myObject implémente IPlugin
End If

Peut-être qu'il y a d'autres solutions, mais je ne les connais pas...

Merci Kevin.Ory 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de Kevin.Ory
Meilleure réponse
Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscription 22 août 2018 Dernière intervention - 10 août 2008 à 07:34
3
Merci
If TypeOf MonObject Is myInterface Then

Renfield
Admin CodeS-SourceS- MVP Visual Basic

Merci Renfield 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de Renfield
The Meteorologist 241 Messages postés jeudi 18 janvier 2007Date d'inscription 3 novembre 2011 Dernière intervention - 10 août 2008 à 14:54
0
Merci
Un grand merci à vous deux pour vos solutions =).

Simon.
Commenter la réponse de The Meteorologist

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.