VB.NET Brackets () {} [] <>
Can someone please fill in the blanks for me, including a brief description of use and perhaps a code snippet? I'm well aware of the top two in particular, but a little hazy on the last one especially:

 - () - Used for calling a function, object instantiation, passing parameters, etc.
 - {} - Used for defining and adding elements to arrays or sets.
 - [] - Used for forcing an object to be treated as a type rather than keyword.
 - <> - Used for... ?

For Example, I see stuff like this all the time, but still not quite sure what the brackets means...

<!-- language: lang-vb -->

    <TemplateContainer(GetType(TemplateItem))> _
    Public Property MessageTemplate As ITemplate
VB.NET Brackets () {} [] <>
===

Can someone please fill in the blanks for me, including a brief description of use and perhaps a code snippet? I'm well aware of the top two in particular, but a little hazy on the last one especially:

 - () - Used for calling a function, object instantiation, passing parameters, etc.
 - {} - Used for defining and adding elements to arrays or sets.
 - [] - Used for forcing an object to be treated as a type rather than keyword.
 - <> - Used for... ?

For Example, I see stuff like this all the time, but still not quite sure what the brackets means...

<!-- language: lang-vb -->

    <TemplateContainer(GetType(TemplateItem))> _
    Public Property MessageTemplate As ITemplate