C # ottiene il tipo di object nullo

Ho il metodo C #

private static string TypeNameLower(object o) { return o.GetType().Name.ToLower(); } 

per darmi il nome del tipo minuscolo dell’object di input.

Ma se l’input è una stringa impostata su null o un nullable int impostato su null, questo metodo ovviamente fallisce.

Come posso ottenere il nome del tipo in questa situazione?