Grazie ancora. Ora però ho questo problema: se la hashtable che carico ha ad esempio una chiave integer anzichè string il ciclo ad un certo punto genera un confronto tra integer e string con relativo errore.

Potrei risolvere usando if...then e GetType.FullName come mi hai suggerito prima però mi sembra un metodo un po' troppo cervellotico. C'è un sistema migliore?