Я раньше предпочитал '
, специально для '''docstrings'''
, поскольку я нахожу """this creates some fluff"""
. Кроме того, '
может быть введен без , Сдвиг включает мою швейцарскую немецкую клавиатуру.
я с тех пор изменился на использование тройных кавычек для """docstrings"""
, для приспосабливания PEP 257.
См. Раздел под названием Псевдонимы имен типов в этой записи блога . Я считаю, что это полный список псевдонимов.
PowerShell Type Alias Corresponding .NET Type [int] System.Int32 [int[]] System.Int32[] [long] System.Int64 [long[]] System.Int64[] [string] System.String [string[]] System.String[] [char] System.Char [char[]] System.Char[] [bool] System.Boolean [bool[]] System.Boolean[] [byte] System.Byte [byte[]] System.Byte[] [double] System.Double [double[]] System.Double[] [decimal] System.Decimal [decimal[]] System.Decimal[] [float] System.Single [single] System.Single [regex] System.Text.RegularExpression.Regex [array] System.Array [xml] System.Xml.XmlDocument [scriptblock] System.Management.Automation.ScriptBlock [switch] System.Management.Automation.SwitchParameter [hashtable] System.Collections.Hashtable [psobject] System.Management.Automation.PSObject [type] System.Type [type[]] System.Type[]
@ У Нолдорина есть хороший список некоторых ускорителей типов.
PowerShell также позволяет использовать литералы типов для приведения объектов, вызова статических методов, доступа к статическим свойствам, отражения и всего остального, что вы могли бы сделать с экземпляром объекта System.Type.
Чтобы использовать литерал типа, вы просто заключаете полное имя (пространство имен и имя класса) класса (или структуры или перечисления) (с точкой, разделяющей пространство имен и имя класса) в квадратных скобках, например:
[System.Net.NetworkInformation.IPStatus]
PowerShell также предоставит начальный «Система». в его попытке разрешить имя, поэтому вам не нужно явно использовать это, если вы используете что-то в пространстве имен System *.
[Net.NetworkInformation.IPStatus]
Окончательный способ - сделать то, что демонстрирует Oisin в этом отличном сообщении в блоге :
PS> $acceleratorsType = [type]::gettype("System.Management.Automation.TypeAccelerators")
PS> $acceleratorsType
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
False False TypeAccelerators System.Object
PS> $acceleratorsType::Add("accelerators", $acceleratorsType)
PS> [accelerators]::Get
Key Value
--- -----
int System.Int32
...
Обратите внимание, что вам нужно добавить новый ускоритель «ускорители» в словарь, потому что тип TypeAccelerators не является общедоступным. Удивительно, что вы можете делать с .NET Reflector, и много свободного времени. :-) Ты рок Ойсин!