Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Quando si estendono gli oggetti .NET Framework, è possibile aggiungere proprietà alias, proprietà del codice, proprietà note, proprietà script e set di proprietà agli oggetti . Il codice XML che definisce queste proprietà è descritto nelle sezioni seguenti.
Nota
Gli esempi nelle sezioni seguenti provengono dal file dei tipi di Types.ps1xml predefinito nella directory di installazione di PowerShell ($PSHOME). Per altre informazioni, vedere About Types.ps1xml.
Proprietà alias
Una proprietà alias definisce un nuovo nome per una proprietà esistente.
Nell'esempio seguente la proprietà Count viene aggiunta al tipo System.Array. L'elemento AliasProperty definisce la proprietà estesa come proprietà alias. L'elemento Nome specifica il nuovo nome. Inoltre, l'elemento ReferencedMemberName specifica la proprietà esistente a cui fa riferimento l'alias. È anche possibile aggiungere l'elemento AliasProperty ai membri dell'elemento MemberSets.
<Type>
<Name>System.Array</Name>
<Members>
<AliasProperty>
<Name>Count</Name>
<ReferencedMemberName>Length</ReferencedMemberName>
</AliasProperty>
</Members>
</Type>
Proprietà del codice
Una proprietà di codice fa riferimento a una proprietà statica di un oggetto .NET Framework.
Nell'esempio seguente la proprietà Mode viene aggiunta al tipo System.IO.DirectoryInfo. L'elemento CodeProperty definisce la proprietà estesa come proprietà di codice. L'elemento Name specifica il nome della proprietà estesa. Inoltre, l'elemento GetCodeReference definisce il metodo statico a cui fa riferimento la proprietà estesa. È anche possibile aggiungere l'elemento CodeProperty ai membri dell'elemento 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>
Proprietà note
Una proprietà note definisce una proprietà con un valore statico.
Nell'esempio seguente, la proprietà Status, il cui valore è sempre Success, viene aggiunto al tipo System.IO.DirectoryInfo. L'elemento NoteProperty definisce la proprietà estesa come proprietà note. L'elemento Name specifica il nome della proprietà estesa. L'elemento Value specifica il valore statico della proprietà estesa. L'elemento NoteProperty può anche essere aggiunto ai membri dell'elemento MemberSets.
<Type>
<Name>System.IO.DirectoryInfo</Name>
<Members>
<NoteProperty>
<Name>Status</Name>
<Value>Success</Value>
</NoteProperty>
</Members>
</Type>
Proprietà script
Una proprietà script definisce una proprietà il cui valore è l'output di uno script.
Nell'esempio seguente la proprietà VersionInfo viene aggiunta al tipo System.IO.FileInfo. L'elemento ScriptProperty definisce la proprietà estesa come proprietà script. L'elemento Name specifica il nome della proprietà estesa. Inoltre, l'elemento GetScriptBlock specifica lo script che genera il valore della proprietà. È anche possibile aggiungere l'elemento ScriptProperty ai membri dell'elemento MemberSets.
<Type>
<Name>System.IO.FileInfo</Name>
<Members>
<ScriptProperty>
<Name>VersionInfo</Name>
<GetScriptBlock>
[System.Diagnostics.FileVersionInfo]::GetVersionInfo($this.FullName)
</GetScriptBlock>
</ScriptProperty>
</Members>
</Type>
Set di proprietà
Un set di proprietà definisce un gruppo di proprietà estese a cui è possibile fare riferimento dal nome del set. Ad esempio, il parametro Format-TableProperty può specificare un set di proprietà specifico da visualizzare. Quando si specifica un set di proprietà, vengono visualizzate solo le proprietà che appartengono al set.
Non esiste alcuna restrizione sul numero di set di proprietà che possono essere definiti per un oggetto. Tuttavia, i set di proprietà utilizzati per definire le proprietà di visualizzazione predefinite di un oggetto devono essere specificati all'interno del set di membri PSStandardMembers. Nel file dei tipi di Types.ps1xml i nomi dei set di proprietà predefiniti includono DefaultDisplayProperty, DefaultDisplayPropertySete DefaultKeyPropertySet. Eventuali set di proprietà aggiuntivi aggiunti al PSStandardMembers set di membri vengono ignorati.
Nell'esempio seguente, il set di proprietà DefaultDisplayPropertySet viene aggiunto al set di PSStandardMembers del set di System.ServiceProcess.ServiceController. L'elemento PropertySet definisce il gruppo di proprietà. L'elemento Nome specifica il nome del set di proprietà. Inoltre, l'elemento ReferencedProperties specifica le proprietà del set. È anche possibile aggiungere l'elemento PropertySet ai membri dell'elemento 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>