I have the following method in an external class
public static void DoStuffWithAnimals(IDictionary animals)
In my cal
If the dictionary's interface was read-only (allowing you only to read the key-value pairs, and couldn't even allow the ability to pull a value by its key), it could be marked with the out
generic parameter modifier. If the dictionary's interface was write-only (allowing you to insert values, but not to retrieve them or iterate over them), it could be marked with the in
generic parameter modifier.
So, you can create the interface yourself and extend the Dictionary class in order to get the functionality you need.