1.
PS C:\> [System.Management.Automation.TypeAccelerators]::Add(
"AList"
, [System.Collections.ArrayList])
PS C:\> $accel = [PowerShell].Assembly.GetType(
"System.Management.Automation.TypeAccelerators"
)
2.
PS C:\> $accel::Add(
01.
PS C:\> $accel::Get
02.
03.
Key Value
04.
--- -----
05.
Alias System.Management.Automation.Alias...
06.
.
07.
08.
09.
psvariableproperty System.Management.Automation.PSVar...
10.
AList System.Collections.ArrayList
PS C:\> [AList]
Unable to find type [AList].
3.
At line:1
char
:1
4.
+ [AList]
5.
+ ~~~~~~~
6.
+ CategoryInfo : InvalidOperation: (AList:TypeName) [], RuntimeException
7.
+ FullyQualifiedErrorId : TypeNotFound
PS C:\> $accel.GetFields([System.Reflection.BindingFlags]
"static, nonpublic"
PS C:\> $accel.GetField(
"userTypeAccelerators"
, [System.Reflection.BindingFlags]
"Static,NonPublic"
).GetValue($accel)
PS C:\> $builtinField = $accel.GetField(
"builtinTypeAccelerators"
PS C:\> $builtinField.SetValue($builtinField, $accel::Get)
IsPublic IsSerial Name
-------- -------- ----
True True ArrayList
,[System.Collections.ArrayList])