Maybe you don't know what is overloading. No wonder, the term is quite confusing, because nothing is actually "loaded", so what could be "overloaded"? Actually, nothing.
It really means that two or more methods have the same name (in the same class or structure, that is, the same fully-qualified name), but different signatures, and each particular signature could be recognized be the compiler by the call. That said, depending on the particular call parameters in the code of the actual call, such recognition may or may not be possible, and the ambiguity will cause compilation error.
Additionally, you should understand that VB.NET is still a language with strong typing, despite of implicit conversion typical for this language. Please see
http://en.wikipedia.org/wiki/Strong_typing[
^].
That said: if your idea is a dynamic parameter, it's a wrong idea. If you formal parameter is double, it will always be double, even if the actual parameter is int — it is merely converted to double, so, from the standpoint of the method implementation, it is always double and nothing else.
Actually, your question is not clear and/or incorrectly formulated and/or makes no sense. Not to worry — I hope my explanations are enough for you to sort things out.
—SA