Brackets = Type Access
double colons = access to a static member of the type: [MyType] returns an instance of the type
Example:
c:> [System.Int32]
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Int32 System.ValueType
using dotted notation, you will only get access to the members of the instance of the type instance (for most, reflection methods are applied) ...
c:\> [System.Int32].Parse("3")
Method call failed because [System.Runtype] does not have any "Parse" member
c:\> [System.Int32].AssemblyQualifiedName
System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
so::
c:\> [System.Int32]::Parse("3")
3