What is pros and cons of calling procedures in VB.NET?

There are no pros, and there are no cons.

The Call keyword is a legacy keyword from older VB dialects.

In VB.net it has no meaning, and is syntatic sugar.


From here:

You normally use the Call statement to call a procedure that does not return a value. If the procedure returns a value, the Call statement discards it.

You are not required to use the Call statement when calling a procedure. However, it improves the readability of your code.

So, in essence, ProOne() and Call ProOne() are semantically equivalent.


One interesting use I found (R# suggested), was when you need to create an instance just to call a single method and then mark it for garbage collection.
Not sure if I'm keeping it though.

For example

Call (new MyType()).MySub()

equivalent of

dim anInstance = new MyType
anInstance.MySub