Comments
1 comment
-
I took your code, compiled it and looked at it: Everything is very fine. But when you insist there was an error, I'm quite sure it was the compiler and not the reflector (decompile your code with ILDASM.exe and you should get the same result - not worries, the calls are easy to read even if you don't understand the rest...)
In VB.NET compiler binding errors happen a lot if you have a method that takes a paramarray as input and an overloaden one that takes an object. Unfortunately the compiler does not throw an AmbiguityException but binds to what he feels right (usually the one taking an object, even if you pass in an array).
I also experienced wrong bindings to base constructors in VB.NET, eg. when one was a public one taking an object and the other one was protected or friendly and took a string then it didn't bind to the 2nd constructor when called with a string but to the one with an object.
In short: Trust decompilers more than compilers! ;-)
Add comment
Please sign in to leave a comment.
The end result is in a situation like this code snippet below, except the last argument in the method call (true) is becoming 1 and calling a different overload from the original.
It was reverse engineered in the version previous to red-gate taking it on.. is this a known issue/fixed issue/non issue?