2011-02-02 36 views
5

que tengo una clase se ve como esto:comparar dos tipos

object value; 
Type type; 

Cuando creo el objeto fijo el tipo al tipo de objetos.

¿Cómo puedo comparar este tipo con otro tipo?

Si por ejemplo, el tipo es String:

type.Equals(String) 

y

type == String 

no funciona.

Respuesta

11

En este contexto, usted compara su instancia Type con el resultado de typeof(T), donde T es del tipo que desea comparar.

bool objectIsString = myType == typeof(string); 
1

bien esto debería funcionar

bool isSameType = (value != null && value.GetType() == type); 
0

Type.Equals() requiere que también pasa un tipo. Por lo tanto, convierta la cadena en un tipo:

type.Equals(GetType(string)) 
0
if(typeitem is string) 
{ 
    // Your Code 
}