Tester si un objet est un dictionnaire en C #

Est-il un moyen de tester si un objet est un dictionnaire?

Dans une méthode que je suis en train d'essayer de récupérer la valeur d'un élément sélectionné dans une liste déroulante. Dans certains cas, la zone de liste peut être lié à un dictionnaire, mais ce n'est pas connu au moment de la compilation.

Je voudrais faire quelque chose de similaire à ceci:

if (listBox.ItemsSource is Dictionary<??>)
{
    KeyValuePair<??> pair = (KeyValuePair<??>)listBox.SelectedItem;
    object value = pair.Value;
}

Est-il un moyen de le faire dynamiquement lors de l'exécution à l'aide de la réflexion? Je sais qu'il est possible d'utiliser la réflexion avec les types génériques et de déterminer la clé/valeur des paramètres, mais je ne sais pas si il existe un moyen de faire le reste, après ces valeurs sont extraites.

source d'informationauteur Bob Wintemberg