Defining Default Methods for Objects (Predefinir Métodos para Objetos)
Ao estender .NET Framework objetos, pode adicionar métodos de código e métodos de script aos objetos. O XML que é usado para definir estes métodos é descrito nas seguintes secções.
Nota
Os exemplos nas seguintes secções são do Types.ps1xml
ficheiro dos tipos no diretório de instalação Windows PowerShell ( $PSHOME
). Para mais informações, consulte About Types.ps1xml.
Métodos de código
Um método de código refere um método estático de um objeto .NET Framework.
No exemplo seguinte, o método ToString é adicionado ao System.Xml. Tipo XmlNode. O elemento PSCodeMethod define o método estendido como um método de código. O elemento Nome especifica o nome do método estendido. E, o elemento CodeReference especifica o método estático. Também pode adicionar o elemento PSCodeMethod aos membros do elemento PSMemberSets.
<Type>
<Name>System.Xml.XmlNode</Name>
<Members>
<CodeMethod>
<Name>ToString</Name>
<CodeReference>
<TypeName>Microsoft.PowerShell.ToStringCodeMethods</TypeName>
<MethodName>XmlNode</MethodName>
</CodeReference>
</CodeMethod>
</Members>
</Type>
Métodos de script
Um método de script define um método cujo valor é a saída de um script. No exemplo seguinte, o método ConvertToDateTime é adicionado ao tipo System.Management.ManagementObject. O elemento PSScriptMethod define o método estendido como um método de script. O elemento Nome especifica o nome do método estendido. E, o elemento Script especifica o script que gera o valor do método. Também pode adicionar o elemento PSScriptMethod aos membros do elemento PSMemberSets.
<Type>
<Name>System.Management.ManagementObject</Name>
<Members>
<ScriptMethod>
<Name>ConvertToDateTime</Name>
<Script>
[System.Management.ManagementDateTimeConverter]::ToDateTime($args[0])
</Script>
</ScriptMethod>
</Members>
</Type>
Ver também
Writing a Windows PowerShell Cmdlet (Escrever um Cmdlet do Windows PowerShell)
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários