Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
При расширении объектов .NET Framework можно добавлять в объекты псевдонимы, свойства кода, свойства заметки, свойства скрипта и наборы свойств. XML, определяющий эти свойства, описаны в следующих разделах.
Примечание.
Примеры в следующих разделах приведены из файла типов Types.ps1xml по умолчанию в каталоге установки PowerShell ($PSHOME). Дополнительные сведения см. в разделе About Types.ps1xml.
Свойства псевдонима
Свойство псевдонима определяет новое имя для существующего свойства.
В следующем примере свойство count счетчика добавляется в тип System.Array. Элемент AliasProperty определяет расширенное свойство как свойство псевдонима. Элемент name указывает новое имя. И элемент ReferencedMemberName указывает существующее свойство, на которое ссылается псевдоним. Вы также можете добавить элемент AliasProperty в элементы элемента MemberSets.
<Type>
<Name>System.Array</Name>
<Members>
<AliasProperty>
<Name>Count</Name>
<ReferencedMemberName>Length</ReferencedMemberName>
</AliasProperty>
</Members>
</Type>
Свойства кода
Свойство кода ссылается на статическое свойство объекта .NET Framework.
В следующем примере свойство режима добавляется в тип System.IO.DirectoryInfo. Элемент CodeProperty определяет расширенное свойство как свойство кода. Элемент name указывает имя расширенного свойства. И элемент GetCodeReference определяет статический метод, на который ссылается расширенное свойство. Вы также можете добавить элемент CodeProperty в элементы элемента MemberSets.
<Type>
<Name>System.IO.DirectoryInfo</Name>
<Members>
<CodeProperty>
<Name>Mode</Name>
<GetCodeReference>
<TypeName>Microsoft.PowerShell.Commands.FileSystemProvider</TypeName>
<MethodName>Mode</MethodName>
</GetCodeReference>
</CodeProperty>
</Members>
</Type>
Свойства заметок
Свойство note определяет свойство, которое имеет статическое значение.
В следующем примере свойство Status, значение которого всегда success, добавляется в тип System.IO.DirectoryInfo. Элемент NoteProperty определяет расширенное свойство как свойство note. Элемент name указывает имя расширенного свойства. Элемент Value указывает статическое значение расширенного свойства. Элемент NoteProperty также можно добавить в элементы элемента MemberSets.
<Type>
<Name>System.IO.DirectoryInfo</Name>
<Members>
<NoteProperty>
<Name>Status</Name>
<Value>Success</Value>
</NoteProperty>
</Members>
</Type>
Свойства скрипта
Свойство скрипта определяет свойство, значение которого является выходным результатом скрипта.
В следующем примере свойство VersionInfo добавляется в тип System.IO.FileInfo. Элемент ScriptProperty определяет расширенное свойство как свойство скрипта. Элемент name указывает имя расширенного свойства. Кроме того, элемент getScriptBlock указывает скрипт, который создает значение свойства. Вы также можете добавить элемент ScriptProperty в элементы элемента MemberSets.
<Type>
<Name>System.IO.FileInfo</Name>
<Members>
<ScriptProperty>
<Name>VersionInfo</Name>
<GetScriptBlock>
[System.Diagnostics.FileVersionInfo]::GetVersionInfo($this.FullName)
</GetScriptBlock>
</ScriptProperty>
</Members>
</Type>
Наборы свойств
Набор свойств определяет группу расширенных свойств, на которые можно ссылаться по имени набора. Например, параметр Format-TableProperty может указать определенный набор свойств для отображения. При указании набора свойств отображаются только те свойства, которые принадлежат набору.
Нет ограничений на количество наборов свойств, которые можно определить для объекта. Однако наборы свойств, используемые для определения свойств отображения по умолчанию объекта, должны быть указаны в наборе элементов PSStandardMembers. В файле типов Types.ps1xml имена наборов свойств по умолчанию включают DefaultDisplayProperty, DefaultDisplayPropertySetи DefaultKeyPropertySet. Все дополнительные наборы свойств, добавленные в набор элементов PSStandardMembers PSStandardMembers, игнорируются.
В следующем примере набор свойств DefaultDisplayPropertySet добавляется в набор элементов PSStandardMembers типа System.ServiceProcess.ServiceControl ler. Элемент PropertySet определяет группу свойств. Элемент name указывает имя набора свойств. А элемент ReferencedProperties указывает свойства набора. Вы также можете добавить элемент PropertySet в элементы элемента Type.
<Type>
<Name>System.ServiceProcess.ServiceController</Name>
<Members>
<MemberSet>
<Name>PSStandardMembers</Name>
<Members>
<PropertySet>
<Name>DefaultDisplayPropertySet</Name>
<ReferencedProperties>
<Name>Status</Name
<Name>Name</Name>
<Name>DisplayName</Name>
</ReferencedProperties>
</PropertySet>
</Members>
</MemberSet>
</Members>
</Type>