Verifier si un objet implemente une interface.

[Résolu]
Signaler
Messages postés
234
Date d'inscription
jeudi 18 janvier 2007
Statut
Membre
Dernière intervention
3 novembre 2011
-
Messages postés
234
Date d'inscription
jeudi 18 janvier 2007
Statut
Membre
Dernière intervention
3 novembre 2011
-
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.

3 réponses

Messages postés
840
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2009
9
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...
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
If TypeOf MonObject Is myInterface Then

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
234
Date d'inscription
jeudi 18 janvier 2007
Statut
Membre
Dernière intervention
3 novembre 2011
1
Un grand merci à vous deux pour vos solutions =).

Simon.