Опция 1
Поместите тип перечисления в переменную:
$so = [System.Data.SqlClient.SortOrder]
$so::Ascending
Опция 2
СоздатьПользовательский тип ускорителя (только для текущего сеанса):
[PSObject].Assembly.GetType("System.Management.Automation.TypeAccelerators")::Add("so", "System.Data.SqlClient.SortOrder")
[so]::Ascending
Опция 3 (PSv5 +)
Представлено в PowerShell v5.Поместите , используя в ваш $profile
:
using namespace System.Data.SqlClient
# in your script:
[SortOrder]::Ascending
Опция 4
Используйте строку.В большинстве сценариев (когда целевой тип известен, например, для вызовов методов, назначений свойств и т. Д.) Он будет распознаваться и преобразовываться автоматически.
Например, если у вас есть этот тип:
using System.Data.SqlClient;
namespace Example
{
public class MyClient
{
public SortOrder SortOrder { get; set; }
}
}
Вы можете просто сделать это:
$myClient = New-Object Example.MyClient
$myClient.SortOrder = "Ascending"
Или также для явно типизированных переменных:
[System.Data.SqlClient.SortOrder]$sortOrder = "Ascending"
Он чувствителен к регистру и даже принимает частичный ввод, если он однозначен:
[System.Data.SqlClient.SortOrder]$sortOrder = "asc"