Kan jag kontrollera om en variabel kan castas till en angiven typ?

Kan jag kontrollera om en variabel kan castas till en angiven typ?

Använd operatorn "som" för att försöka kasta:

var myObject = something as String;

if (myObject != null)
{
  // successfully cast
}
else
{
  // cast failed
}

Om casten misslyckas, kastas inget undantag, men målobjektet kommer att vara Null.

EDIT:

om du vet vilken typ av resultat du vill ha kan du använda en hjälpmetod som denna:

public static Object TryConvertTo<T>(string input)
{
    Object result = null;
    try
    {
        result = Convert.ChangeType(input, typeof(T));
    }
    catch
    {
    }

    return result;
}

Kolla in den här länken:http://msdn.microsoft.com/en-us/library/scekt9xw(v=vs.71).aspx

if (expression is type){
    // do magic trick
}

Något du kan använda?


Prova detta

return myType.IsInstanceOfType(myObject);