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 

3 réponses

Répondre au sujet
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
Utile
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...
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Kevin.Ory
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 10 août 2008 à 07:34
+3
Utile
If TypeOf MonObject Is myInterface Then

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Cette réponse vous a-t-elle aidé ?  
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
Utile
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.