You can use IsAssignableFrom to check if type implements IDictionary.
var dict = new Dictionary();
var isDict = typeof(IDictionary).IsAssignableFrom(dict.GetType());
Console.WriteLine(isDict); //prints true
This code will print false for all types, that don't implement IDictionary interface.