For some reason this:
typeof(Dictionary<string,string>).GetGenericTypeDefinition()
.GetInterfaces()
.Contains(typeof(IDictionary<,>))
is false but this:
typeof(Dictionary<string,string>).GetInterfaces()
.Any(i => i.IsGenericType
&& i.GetGenericTypeDefinition() == typeof(IDictionary<,>))
is true, even though they both appear as IDictionary'2 in the debugger with the same GUID.
In the first example, [0] in the interface array is IDictionary'2, and if I compare it directly with typeof (without .Contains(...)) with either == or .Equals(...) and even .IsAssignableFrom(...) it's the same outcome.
Please, someone tell me why!
Aucun commentaire:
Enregistrer un commentaire