Why doesn't $hash.key syntax work inside the ExpandString method?
===

The following Powershell script demonstrates the issue:

    $hash = @{'a' = 1; 'b' = 2}
    Write-Host $hash['a']        # => 1
    Write-Host $hash.a           # => 1

    # Two ways of printing using quoted strings.
    Write-Host "$($hash['a'])"   # => 1
    Write-Host "$($hash.a)"      # => 1

    # And the same two ways Expanding a single-quoted string.
    $ExecutionContext.InvokeCommand.ExpandString('$($hash[''a''])') # => 1
    $ExecutionContext.InvokeCommand.ExpandString('$($hash.a)')      # => Oh Shit!

    Exception calling "ExpandString" with "1" argument(s): "Object reference not set to an instance of an object."
    At line:1 char:1
    + $ExecutionContext.InvokeCommand.ExpandString('$($hash.a)')
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
        + FullyQualifiedErrorId : NullReferenceException

Anyone know why the `$hash.key` syntax works everyone but inside explicit expansion? Can this be fixed, or do I have to suck it up and live with the `$hash[''key'']` syntax?
    