Soit Object.class
ou Object.type
devrait faire ce que vous avez besoin.
Aussi, les deux méthodes d' Object.is_a?
et Object.instance_of?
peut être utilisé. Cependant, ils ne sont pas identiques à 100%. L'énoncé obj.instance_of?(myClass)
retournera true seulement si l'objet obj
a été créé comme un objet de type myClass
. À l'aide de obj.is_a?(myClass)
retournera true si l'objet obj
d'une classe myClass
, est d'une classe qui a hérité de l' myClass
, ou a le module myClass
inclus.
Par exemple:
x = 1
x.class => Fixnum
x.instance_of? Integer => false
x.instance_of? Numeric => false
x.instance_of? Fixnum => true
x.is_a? Integer => true
x.is_a? Numeric => true
x.is_a? Fixnum => true
Depuis votre méthode C# nécessite un type de données spécifique, je vous conseille d'utiliser l' Object.instance_of?
.