When designing .NET as a programming platform, the designers could either leave out operator overloading, as Java does, or they could continue the tradition started off by C and continued by C++ to provide greater control to the programmer. They chose to let the programmer decide which path to take and so added the feature into the framework, but for some reason didn't provide a way to use it through Visual Basic .NET 2003 (VB 7).
In .NET 1.1, VB 7 did not include the concept of operator overloading. You could neither define nor use overloaded operators and the workaround was to create methods, such as a .Add(object) method. C#, however, did include operator overloading even on .NET 1.1.
.NET 2.0 introduced the Operator keyword in Visual Basic, a feature in VB 8, which reduces the amount of code and provides added convenience for the developers.