VB6 and VB.NET are very similar in many ways.

I am having a difficulty trying to see whats going on, partly because of the method being literally over 5,000 lines of code but also partly because things are being done here there and everywhere.

I am trying to convert it ultimately to C# but VB.NET is fine.

Code:
Dim validScenario as tScenario

if condition then
   with validScenario
      .MsgType = "blah"
   end with

else if condition2
   with validScenario
      .SomeProp = 1
   end with
else
...
end if
so what is going on there? Everytime there is a with, is it using a new instance of the type or is it just using the existing instance and modifying the relevant properties?

I know what with is used for, makes you write less code and faster in performance when using it on the long type. But im puzzled by the above VB6 code.

should I be created a new instance everytime or not?