VB.Net does not throw compiler error when setting Dictionary to IList-Collection of common programming errors
I am updating a legacy application, and it was reading a dll from another project for a Dictionary(of Guid, String) of items and using them.
The requirements have changed, and the method that was returning the Dictionary is now returning an IList.
This is the odd behavior of this; the intellisense is not throwing a cast error, nor is the compiler. It does not throw an error until runtime when it tries to set the Dictionary to the IList.
Example:
Dim someDictionary As Dictionary(Of Integer, String) = New Dictionary(Of Integer, String)
Dim someList As IList(Of Integer)
someDictionary = someList
Any idea as to why the compiler is not catching this?