Utöka egenskaper för objekt
När du utökar .NET Framework objekt kan du lägga till aliasegenskaper, kodegenskaper, anteckningsegenskaper, skriptegenskaper och egenskapsuppsättningar till objekten. DEN XML som definierar dessa egenskaper beskrivs i följande avsnitt.
Anteckning
Exemplen i följande avsnitt kommer från Types.ps1xml standardtypfilen i PowerShell-installationskatalogen ( $PSHOME ). Mer information finns i Om Types.ps1xml.
Aliasegenskaper
En aliasegenskap definierar ett nytt namn för en befintlig egenskap.
I följande exempel läggs egenskapen Count till i typen System.Array. Elementet AliasProperty definierar den utökade egenskapen som en aliasegenskap. Elementet Name anger det nya namnet. Och elementet ReferencedMemberName anger den befintliga egenskapen som aliaset refererar till. Du kan också lägga till AliasProperty elementet till medlemmarna i elementet MemberSets.
<Type>
<Name>System.Array</Name>
<Members>
<AliasProperty>
<Name>Count</Name>
<ReferencedMemberName>Length</ReferencedMemberName>
</AliasProperty>
</Members>
</Type>
Kodegenskaper
En kodegenskap refererar till en statisk egenskap för .NET Framework objekt.
I följande exempel läggs egenskapen Mode till i typen System.IO.DirectoryInfo. Elementet CodeProperty definierar den utökade egenskapen som en kodegenskap. Elementet Name anger namnet på den utökade egenskapen. Och getCodeReference-elementet definierar den statiska metod som den utökade egenskapen refererar till. Du kan också lägga till CodeProperty elementet till medlemmarna i elementet 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>
Anteckningsegenskaper
En anteckningsegenskap definierar en egenskap som har ett statiskt värde.
I följande exempel läggs egenskapen Status, vars värde alltid är Lyckades, till i typen System.IO.DirectoryInfo. NoteProperty-elementet definierar den utökade egenskapen som en anteckningsegenskap. Elementet Name anger namnet på den utökade egenskapen. Elementet Value anger det statiska värdet för den utökade egenskapen. Elementet NoteProperty kan också läggas till i medlemmarna i elementet MemberSets.
<Type>
<Name>System.IO.DirectoryInfo</Name>
<Members>
<NoteProperty>
<Name>Status</Name>
<Value>Success</Value>
</NoteProperty>
</Members>
</Type>
Skriptegenskaper
En skriptegenskap definierar en egenskap vars värde är utdata från ett skript.
I följande exempel läggs egenskapen VersionInfo till i typen System.IO.FileInfo. Elementet ScriptProperty definierar den utökade egenskapen som en skriptegenskap. Elementet Name anger namnet på den utökade egenskapen. Och getScriptBlock-elementet anger det skript som genererar egenskapsvärdet. Du kan också lägga till ScriptProperty elementet till medlemmarna i elementet MemberSets.
<Type>
<Name>System.IO.FileInfo</Name>
<Members>
<ScriptProperty>
<Name>VersionInfo</Name>
<GetScriptBlock>
[System.Diagnostics.FileVersionInfo]::GetVersionInfo($this.FullName)
</GetScriptBlock>
</ScriptProperty>
</Members>
</Type>
Egenskapsuppsättningar
En egenskapsuppsättning definierar en grupp utökade egenskaper som kan refereras till av namnet på uppsättningen. Parametern Format-Table Property kan till exempel ange en specifik egenskapsuppsättning som ska visas. När en egenskapsuppsättning anges visas endast de egenskaper som tillhör uppsättningen.
Det finns ingen begränsning för antalet egenskapsuppsättningar som kan definieras för ett objekt. Egenskapsuppsättningarna som används för att definiera standardegenskaperna för ett objekt måste dock anges i medlemsuppsättningen PSStandardMembers. I filtyperna innehåller standardnamnen för egenskapsuppsättningen Types.ps1xml DefaultDisplayProperty, DefaultDisplayPropertySet och DefaultKeyPropertySet. Eventuella ytterligare egenskapsuppsättningar som du lägger till i medlemsuppsättningen PSStandardMembers ignoreras.
I följande exempel läggs egenskapsuppsättningen DefaultDisplayPropertySet till i medlemsuppsättningen PSStandardMembers för typen System.Serviceprocess.Servicecontroller. Elementet PropertySet definierar gruppen med egenskaper. Elementet Name anger namnet på egenskapsuppsättningen. Och elementet ReferencedProperties anger egenskaperna för uppsättningen. Du kan också lägga PropertySet till elementet till medlemmarna i elementet 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>
Se även
Feedback
Skicka och visa feedback för