I\'m wrestling with a weird, at least for me, method overloading resolution of .net. I\'ve written a small sample to reproduce the issue:
class Program {
An Enum is just mapped to an int (by default). 0 does not map to your Enum so the overload that takes an object is used. 1 maps to your enum so the Enum overload is used.
You could do this:
Execute((object) 1);
to output
object overload: 1