overloading do not allow overloading by return type. What this means is that methods can be overloading only if they differ by parameters. As with C++, a method's return type is not considered part of the method signature.
However, CIL does support overloading methods by return types, even though C# and VB.NET do not.