I am kinda confused by the way i am seeing objects created in vb.net.

In VB there was late and early binding

VB Code:
  1. Dim MyObj as Object
  2. Set MyObj = New Object
  3. 'would be late binding
  4.  
  5. Dim MyObj as New Object
  6. 'would be early binding

But in .Net i've notice some odd ways of creating an object.....examples
VB Code:
  1. Dim TheFont As Font = New Font("Times New Roman", 24, System.Drawing.GraphicsUnit.Point) ' i dont get it. Dim the font as font = New Font....
  2.  
  3. Dim TheGraphic As Graphics = Graphics.FromImage(TheImage)' same thing here except no NEW keyword....huh?
  4.  
  5. TheGraphic.DrawString(TheText, TheFont, New SolidBrush(Color.FromArgb(Red, Green, Blue)), 0, 0)  ' Creating a new object as a paramter of a function? never seen this before either.

Can anyone enlighten me a little.
Thanks!