Rozszerzanie właściwości dla obiektów
Podczas rozszerzania .NET Framework można dodawać do obiektów właściwości aliasów, właściwości kodu, właściwości notatki, właściwości skryptu i zestawy właściwości. Kod XML, który definiuje te właściwości, jest opisany w poniższych sekcjach.
Uwaga
Przykłady w poniższych sekcjach znajdują się w pliku typów domyślnych Types.ps1xml
w katalogu instalacyjnym programu PowerShell ( $PSHOME
). Aby uzyskać więcej informacji, zobacz About Types.ps1xml.
Właściwości aliasu
Właściwość aliasu definiuje nową nazwę istniejącej właściwości.
W poniższym przykładzie właściwość Count jest dodawana do typu System.Array. AliasProperty element definiuje właściwość extended jako właściwość aliasu. Name element określa nową nazwę. A element ReferencedMemberName określa istniejącą właściwość, do których odwołuje się alias. Możesz również dodać AliasProperty
element do elementów członkowskich elementu MemberSets.
<Type>
<Name>System.Array</Name>
<Members>
<AliasProperty>
<Name>Count</Name>
<ReferencedMemberName>Length</ReferencedMemberName>
</AliasProperty>
</Members>
</Type>
Właściwości kodu
Właściwość kodu odwołuje się do statycznej właściwości .NET Framework obiektu.
W poniższym przykładzie właściwość Mode jest dodawana do typu System.IO.DirectoryInfo. Element CodeProperty definiuje właściwość extended jako właściwość kodu. Name element określa nazwę właściwości rozszerzonej. Element GetCodeReference definiuje metodę statyczną, do których odwołuje się właściwość extended. Możesz również dodać CodeProperty
element do elementów członkowskich elementu 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>
Zanotuj właściwości
Właściwość notatki definiuje właściwość, która ma wartość statyczną.
W poniższym przykładzie właściwość Status, której wartość to zawsze Success, jest dodawana do typu System.IO.DirectoryInfo. NoteProperty element definiuje właściwość extended jako właściwość notatki. Name element określa nazwę właściwości rozszerzonej. Wartość element określa wartość statyczną właściwości rozszerzonej. Element NoteProperty
można również dodać do elementów członkowskich elementu MemberSets.
<Type>
<Name>System.IO.DirectoryInfo</Name>
<Members>
<NoteProperty>
<Name>Status</Name>
<Value>Success</Value>
</NoteProperty>
</Members>
</Type>
Właściwości skryptu
Właściwość script definiuje właściwość, której wartość jest wartością wyjściową skryptu.
W poniższym przykładzie właściwość VersionInfo jest dodawana do typu System.IO.FileInfo. Element ScriptProperty definiuje właściwość extended jako właściwość skryptu. Name element określa nazwę właściwości rozszerzonej. Element GetScriptBlock określa skrypt, który generuje wartość właściwości. Możesz również dodać ScriptProperty
element do elementów członkowskich elementu MemberSets.
<Type>
<Name>System.IO.FileInfo</Name>
<Members>
<ScriptProperty>
<Name>VersionInfo</Name>
<GetScriptBlock>
[System.Diagnostics.FileVersionInfo]::GetVersionInfo($this.FullName)
</GetScriptBlock>
</ScriptProperty>
</Members>
</Type>
Zestawy właściwości
Zestaw właściwości definiuje grupę właściwości rozszerzonych, do których może odwoływać się nazwa zestawu. Na przykład parametr Format-Table Property może określać określony zestaw właściwości do wyświetlania. Po podano zestaw właściwości, wyświetlane są tylko te właściwości, które należą do zestawu.
Nie ma żadnych ograniczeń dotyczących liczby zestawów właściwości, które można zdefiniować dla obiektu. Jednak zestawy właściwości używane do definiowania domyślnych właściwości wyświetlania obiektu muszą być określone w zestawie członkowskim PSStandardMembers. W pliku typów domyślne nazwy zestawu właściwości obejmują Types.ps1xml
DefaultDisplayProperty, DefaultDisplayPropertySet i DefaultKeyPropertySet. Wszelkie dodatkowe zestawy właściwości, które dodajesz do zestawu członków PSStandardMembers, są ignorowane.
W poniższym przykładzie zestaw właściwości DefaultDisplayPropertySet jest dodawany do zestawu członków PSStandardMembers typu System.Serviceprocess.Servicecontroller. PropertySet element definiuje grupę właściwości. Name element określa nazwę zestawu właściwości. Element ReferencedProperties określa właściwości zestawu. Możesz również dodać PropertySet
element do elementów członkowskich elementu 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>
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla