Question rapide: comment comparer un type Type (jeu de mots non prévu) avec un autre type en C #? Je veux dire, j'ai un Type typeField
et je veux savoir si elle est System.String
, System.DateTime
etc., mais typeField.Equals(System.String)
ne fonctionne pas.
Un indice?
Vous pouvez comparer exactement le même type en utilisant:
typeof renvoie l'objet Type d'une classe donnée.
Mais si vous avez un type B, qui hérite de A, alors cette comparaison est fausse. Et vous recherchez IsAssignableFrom .
la source
Si votre instance est
Type
:mais si votre instance est un
object
et non un,Type
utilisez l'as
opérateur:cela présente l'avantage de
value
ne convertir qu'une seule fois dans le type spécifié.la source
http://msdn.microsoft.com/en-us/library/system.type.gettype.aspx
ce qui vous donnerait quelque chose comme
ou
http://msdn.microsoft.com/en-us/library/58918ffs(v=vs.71).aspx
la source