Поведение, которое вы хотите в PowerShell, возможно, хотя это немного взломан; и, может быть, есть лучший способ.
Если вам просто нужна криптографическая функциональность, стоит обратить внимание на то, что есть TON, который уже встроен в BCL, и он полностью доступен из PowerShell (MD5, SHA, RSA, X509, тонны других вещей тоже).
Но если вы настроены на выполнение неконтролируемой арифметики в PowerShell, это хак, который должен дать вам то, что вы хотите (в основном мы внедряем код C # и используем ключевое слово unchecked):
[Helpers.Convert]::To...
Применение:
[System.Convert]::To...
Отметить:
- Мы звоним,
$members
а не Add-Type
.
- Если вам нужны другие методы, фактические методы C # необходимо будет вставить в
Namespace
блок вверху кода.
- Если вы запускаете
Add-Type
несколько раз подряд для одной Name
и той же Name
комбинации, в том же сеансе PowerShell, это не сработает; и вы останетесь с ранее зарегистрированным типом. - Я добавил, -ErrorAction SilentlyContinue
чтобы игнорировать этот конкретный сценарий. - Таким образом, вы можете сбросить этот код в сценарий .ps1 и вызвать его каждый раз, прежде чем использовать их методы, и они всегда будут присутствовать. - Но если вы изменяете код C # и проверяете, вы захотите изменить имя типа после каждого внесенного вами изменения; это болезненно.