#powershell #syntax
#powershell #синтаксис
Вопрос:
В этом скрипте: WindowsCredentialVault.psm1, я вижу этот код :
function InitializeWindowsCredential
{
Write-Verbose ("Loading PasswordVault Class.")
[void][Windows.Security.Credentials.PasswordVault,Windows.Security.Credentials,ContentType=WindowsRuntime]
}
InitializeWindowsCredential
Однако я не понимаю этот синтаксис : [Windows.Security.Credentials.PasswordVault,Windows.Security.Credentials,ContentType=WindowsRuntime]
.
Насколько я знаю, скобки предназначены для указания типов. Здесь в скобках содержится несколько строк.
Есть ли какое-либо объяснение этого синтаксиса?
Комментарии:
1. Если бы мне пришлось гадать, я думаю, это связано с атрибутами, поскольку вы можете указать несколько атрибутов в одной паре скобок.
Ответ №1:
Этот синтаксис используется для получения класса или типа UWP и, похоже, работает следующим образом:
[class/type name, namespace, ContentType = WindowsRuntime]
Я не смог найти никакой документации, но эта ссылка на блог msdn дает некоторое объяснение:
Загрузка типов WinRT с помощью отражения в Windows 8
РЕДАКТИРОВАТЬ: цель [void]
предшествующего вызова — просто ускорить вывод при возврате объекта:
PS C:Usersme> [Windows.Security.Credentials.PasswordVault,Windows.Security.Credentials,ContentType=WindowsRuntime]
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True False PasswordVault System.Runtime.InteropServices.WindowsRuntime.RuntimeClass
Комментарии:
1. означает ли это, что указание типа с использованием его имени полного доменного имени в скобках загружает сборку? (является WinRT или нет)?
2. @SteveB Крайне маловероятно. PowerShell не выполняет автоматическую загрузку сборок.
3. @Remko, твой ответ проясняет объявление типа. Но я не понимаю цели аннулирования типа (приведение [void] перед типом)
4. @Remko, я не спрашиваю, что такое void , но какова цель помещения его перед типом. Или, точнее, какова цель помещения типа отдельно в скрипт
5. в данном конкретном случае просто убедиться, что создание экземпляра класса не дает никаких выходных данных