Add-Type
Adiciona uma classe Microsoft .NET a uma sessão do PowerShell.
Sintaxe
FromSource (Predefinição)
Add-Type
[-TypeDefinition] <String>
[-CodeDomProvider <CodeDomProvider>]
[-CompilerParameters <CompilerParameters>]
[-Language <Language>]
[-ReferencedAssemblies <String[]>]
[-OutputAssembly <String>]
[-OutputType <OutputAssemblyType>]
[-PassThru]
[-IgnoreWarnings]
[<CommonParameters>]
FromMember
Add-Type
[-Name] <String>
[-MemberDefinition] <String[]>
[-CodeDomProvider <CodeDomProvider>]
[-CompilerParameters <CompilerParameters>]
[-Namespace <String>]
[-UsingNamespace <String[]>]
[-Language <Language>]
[-ReferencedAssemblies <String[]>]
[-OutputAssembly <String>]
[-OutputType <OutputAssemblyType>]
[-PassThru]
[-IgnoreWarnings]
[<CommonParameters>]
FromPath
Add-Type
[-Path] <String[]>
[-CompilerParameters <CompilerParameters>]
[-ReferencedAssemblies <String[]>]
[-OutputAssembly <String>]
[-OutputType <OutputAssemblyType>]
[-PassThru]
[-IgnoreWarnings]
[<CommonParameters>]
FromLiteralPath
Add-Type
-LiteralPath <String[]>
[-CompilerParameters <CompilerParameters>]
[-ReferencedAssemblies <String[]>]
[-OutputAssembly <String>]
[-OutputType <OutputAssemblyType>]
[-PassThru]
[-IgnoreWarnings]
[<CommonParameters>]
FromAssemblyName
Add-Type
-AssemblyName <String[]>
[-PassThru]
[-IgnoreWarnings]
[<CommonParameters>]
Description
O cmdlet Add-Type permite definir uma classe do Microsoft .NET Framework em sua sessão do PowerShell.
Em seguida, você pode instanciar objetos, usando o cmdlet New-Object, e usar os objetos da mesma forma que usaria qualquer objeto do .NET Framework. Se você adicionar um comando Add-Type ao seu perfil do PowerShell, a classe estará disponível em todas as sessões do PowerShell.
Você pode especificar o tipo especificando um assembly existente ou arquivos de código-fonte, ou pode especificar o código-fonte embutido ou salvo em uma variável. Você pode até mesmo especificar apenas um método e Add-Type define e gera a classe. No Windows, você pode usar esse recurso para fazer chamadas Platform Invoke (P/Invoke) para funções não gerenciadas no PowerShell. Se você especificar o código-fonte, Add-Type compilará o código-fonte especificado e gerará um assembly na memória que contém os novos tipos do .NET Framework.
Você pode usar os parâmetros de Add-Type para especificar uma linguagem alternativa e um compilador, C# é o padrão, opções do compilador, dependências de assembly, o namespace de classe, os nomes do tipo e o assembly resultante.
Exemplos
Exemplo 1: Adicionar um tipo .NET a uma sessão
Este exemplo adiciona a classe BasicTest à sessão especificando o código-fonte armazenado em uma variável. A classe
$Source = @"
public class BasicTest
{
public static int Add(int a, int b)
{
return (a + b);
}
public int Multiply(int a, int b)
{
return (a * b);
}
}
"@
Add-Type -TypeDefinition $Source
[BasicTest]::Add(4, 3)
$BasicTestObject = New-Object BasicTest
$BasicTestObject.Multiply(5, 2)
A variável $Source armazena o código-fonte da classe. O tipo tem um método estático chamado Add e um método não estático chamado Multiply.
O cmdlet Add-Type adiciona a classe à sessão. Como está usando código-fonte embutido, o comando usa o parâmetro TypeDefinition para especificar o código na variável $Source.
O método estático
O cmdlet $BasicTestObject.
$BasicTestObject usa o método Multiply. Os inteiros são multiplicados e o produto é exibido.
Exemplo 2: Examinar um tipo adicionado
Este exemplo usa o cmdlet Get-Member para examinar os objetos que os cmdlets Add-Type e New-Object criaram no Exemplo 1.
[BasicTest] | Get-Member
TypeName: System.RuntimeType
Name MemberType Definition
---- ---------- ----------
AsType Method type AsType()
Clone Method System.Object Clone(), System.Object ICloneable.Clone()
Equals Method bool Equals(System.Object obj), bool Equals(type o)
FindInterfaces Method type[] FindInterfaces(System.Reflection.TypeFilter filter...
...
[BasicTest] | Get-Member -Static
TypeName: BasicTest
Name MemberType Definition
---- ---------- ----------
Add Method static int Add(int a, int b)
Equals Method static bool Equals(System.Object objA, System.Object objB)
new Method BasicTest new()
ReferenceEquals Method static bool ReferenceEquals(System.Object objA, System.Object objB)
$BasicTestObject | Get-Member
TypeName: BasicTest
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
Multiply Method int Multiply(int a, int b)
ToString Method string ToString()
O cmdlet
O parâmetro Add está incluído.
O cmdlet Get-Member obtém os membros do objeto armazenados na variável $BasicTestObject.
$BasicTestObject foi criado usando o cmdlet New-Object com a classe BasicTest. A saída revela que o valor da variável
Exemplo 3: Adicionar tipos de um assembly
Este exemplo adiciona as classes do assembly Accessibility.dll à sessão atual.
$AccType = Add-Type -AssemblyName "accessib*" -PassThru
A variável $AccType armazena um objeto criado com o cmdlet Add-Type.
Add-Type usa o parâmetro AssemblyName para especificar o nome do assembly. O caractere curinga asterisco (*) permite que você obtenha a montagem correta, mesmo quando você não tem certeza do nome ou de sua ortografia. O parâmetro PassThru gera objetos que representam as classes que são adicionadas à sessão.
Exemplo 4: Chamar APIs nativas do Windows
Este exemplo demonstra como chamar APIs nativas do Windows no PowerShell.
Add-Type usa o mecanismo Platform Invoke (P/Invoke) para chamar uma função em User32.dll do PowerShell. Este exemplo só funciona em computadores que executam o sistema operacional Windows.
$Signature = @"
[DllImport("user32.dll")]public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);
"@
$addTypeSplat = @{
MemberDefinition = $Signature
Name = "Win32ShowWindowAsync"
Namespace = 'Win32Functions'
PassThru = $true
}
$ShowWindowAsync = Add-Type @addTypeSplat
# Minimize the PowerShell console
$ShowWindowAsync::ShowWindowAsync((Get-Process -Id $PID).MainWindowHandle, 2)
# Restore the PowerShell console
$ShowWindowAsync::ShowWindowAsync((Get-Process -Id $PID).MainWindowHandle, 4)
A variável $Signature armazena a assinatura C# da função ShowWindowAsync. Para garantir que o método resultante esteja visível em uma sessão do PowerShell, a palavra-chave public foi adicionada à assinatura padrão. Para obter mais informações, consulte função ShowWindowAsync.
A variável $ShowWindowAsync armazena o objeto criado pelo parâmetro Add-TypePassThru.
O cmdlet Add-Type adiciona a função ShowWindowAsync à sessão do PowerShell como um método estático. O comando usa o parâmetro
O novo método estático ShowWindowAsync é usado nos comandos para minimizar e restaurar o console do PowerShell. O método usa dois parâmetros: o identificador de janela e um inteiro que especifica como a janela é exibida.
Para minimizar o console do PowerShell, ShowWindowAsync usa o cmdlet Get-Process com a variável automática $PID para obter o processo que está hospedando a sessão atual do PowerShell. Em seguida, ele usa o MainWindowHandle propriedade do processo atual e um valor de 2, que representa o valor SW_MINIMIZE.
Para restaurar a janela, ShowWindowAsync usa um valor de 4 para a posição da janela, que representa o valor SW_RESTORE.
Para maximizar a janela, use o valor de 3 que representa SW_MAXIMIZE.
Exemplo 5: Adicionar um tipo de um arquivo do Visual Basic
Este exemplo usa o cmdlet Hello.vb é mostrado na saída do comando.
Add-Type -Path "C:\PS-Test\Hello.vb"
[VBFromFile]::SayHello(", World")
# From Hello.vb
Public Class VBFromFile
Public Shared Function SayHello(sourceName As String) As String
Dim myValue As String = "Hello"
return myValue + sourceName
End Function
End Class
Hello, World
Add-Type usa o parâmetro Path para especificar o arquivo de origem, Hello.vbe adiciona o tipo definido no arquivo. A função SayHello é chamada como um método estático do VBFromFile classe.
Exemplo 6: Adicionar uma classe com JScript.NET
Este exemplo usa JScript.NET para criar uma nova classe, FRectangle, em sua sessão do PowerShell.
Add-Type @'
class FRectangle {
var Length : double;
var Height : double;
function Perimeter() : double {
return (Length + Height) * 2; }
function Area() : double {
return Length * Height; } }
'@ -Language JScript
$rect = [FRectangle]::new()
$rect
Length Height
------ ------
0 0
Exemplo 7: Adicionar um compilador F#
Este exemplo mostra como usar o cmdlet Add-Type para adicionar um compilador de código F# à sua sessão do PowerShell. Para executar este exemplo no PowerShell, você deve ter o FSharp.Compiler.CodeDom.dll instalado com a linguagem F#.
Add-Type -Path "FSharp.Compiler.CodeDom.dll"
$Provider = New-Object Microsoft.FSharp.Compiler.CodeDom.FSharpCodeProvider
$FSharpCode = @"
let rec loop n =if n <= 0 then () else beginprint_endline (string_of_int n);loop (n-1)end
"@
$FSharpType = Add-Type -TypeDefinition $FSharpCode -CodeDomProvider $Provider -PassThru |
Where-Object { $_.IsPublic }
$FSharpType::loop(4)
4
3
2
1
Add-Type usa o parâmetro Path para especificar um assembly e obtém os tipos no assembly.
New-Object cria uma instância do provedor de código F# e salva o resultado na variável $Provider. A variável $FSharpCode salva o código F# que define o método Loop.
A variável $FSharpType armazena os resultados do cmdlet Add-Type que salva os tipos públicos definidos em $FSharpCode. O parâmetro TypeDefinition especifica o código-fonte que define os tipos. O parâmetro CodeDomProvider especifica o compilador de código-fonte. O parâmetro PassThru direciona Add-Type para retornar um objeto Runtime que representa os tipos.
Os objetos são enviados pelo pipeline para o cmdlet Where-Object, que retorna apenas os tipos públicos. O cmdlet Where-Object é usado porque o provedor F# gera tipos não públicos para dar suporte ao tipo público resultante.
O método Loop é chamado como um método estático do tipo armazenado na variável $FSharpType.
Parâmetros
-AssemblyName
Especifica o nome de um assembly que inclui os tipos.
Add-Type usa os tipos do assembly especificado. Esse parâmetro é necessário quando você está criando tipos com base em um nome de assembly.
Insira o nome completo ou simples, também conhecido como nome parcial, de um assembly. Caracteres curinga são permitidos no nome do assembly. Se você inserir um nome simples ou parcial, Add-Type o resolverá para o nome completo e, em seguida, usará o nome completo para carregar o assembly.
O uso dos parâmetros Path ou LiteralPath garante que você está carregando o assembly que pretendia carregar. Quando você usa o parâmetro AssemblyName, o PowerShell solicita ao .NET para resolver o nome do assembly usando o processo de resolução de assembly .NET padrão. Como o .NET pesquisa a pasta do aplicativo primeiro, Add-Type pode carregar um assembly do $PSHOME em vez da versão na pasta atual. Para obter mais informações, consulte Local do assembly.
Se o .NET não conseguir resolver o nome, o PowerShell procurará no local atual para localizar o assembly. Quando você usa curingas no parâmetro AssemblyName, o processo de resolução de assembly .NET falha fazendo com que o PowerShell procure no local atual.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
| Aliases: | AN |
Conjuntos de parâmetros
FromAssemblyName
| Position: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-CodeDomProvider
Especifica um gerador de código ou compilador.
Add-Type usa o compilador especificado para compilar o código-fonte. O padrão é o compilador C#. Use este parâmetro se estiver usando um idioma que não pode ser especificado usando o parâmetro Language. O CodeDomProvider que você especificar deve ser capaz de gerar assemblies a partir do código-fonte.
Propriedades dos parâmetros
| Tipo: | CodeDomProvider |
| Default value: | C# compiler |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | Fornecedor |
Conjuntos de parâmetros
FromSource
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
FromMember
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-CompilerParameters
Especifica as opções para o compilador de código-fonte. Essas opções são enviadas para o compilador sem revisão.
Esse parâmetro permite direcionar o compilador para gerar um arquivo executável, incorporar recursos ou definir opções de linha de comando, como a opção /unsafe. Este parâmetro implementa a classe
Você não pode usar o CompilerParameters e ReferencedAssemblies parâmetros no mesmo comando.
Propriedades dos parâmetros
| Tipo: | CompilerParameters |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | CP |
Conjuntos de parâmetros
FromSource
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
FromMember
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
FromPath
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
FromLiteralPath
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-IgnoreWarnings
Ignora os avisos do compilador. Use esse parâmetro para impedir que Add-Type manipule avisos do compilador como erros.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Language
Especifica o idioma usado no código-fonte. O cmdlet Add-Type usa o valor desse parâmetro para selecionar o apropriado CodeDomProvider. CSharp é o valor padrão. Os valores aceitáveis para este parâmetro são os seguintes:
CSharpCSharpVersion2CSharpVersion3JScriptVisualBasic
Propriedades dos parâmetros
| Tipo: | Language |
| Default value: | CSharp |
| Valores aceites: | CSharp, CSharpVersion2, CSharpVersion3, JScript, VisualBasic |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
FromSource
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
FromMember
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-LiteralPath
Especifica o caminho para arquivos de código-fonte ou arquivos DLL de assembly que contêm os tipos. Ao contrário de Path, o valor do parâmetro LiteralPath é usado exatamente como foi escrito. Nenhum caractere é interpretado como carta curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples. Aspas simples indicam ao PowerShell para não interpretar quaisquer caracteres como sequências de escape.
O uso dos parâmetros Path ou LiteralPath garante que você está carregando o assembly que pretendia carregar.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | PSPath |
Conjuntos de parâmetros
FromLiteralPath
| Position: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-MemberDefinition
Especifica novas propriedades ou métodos para a classe.
Add-Type gera o código de modelo necessário para dar suporte às propriedades ou métodos.
No Windows, você pode usar esse recurso para fazer chamadas Platform Invoke (P/Invoke) para funções não gerenciadas no PowerShell.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
FromMember
| Position: | 1 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Name
Especifica o nome da classe a ser criada. Este parâmetro é necessário ao gerar um tipo a partir de uma definição de membro.
O nome do tipo e o namespace devem ser exclusivos dentro de uma sessão. Não é possível descarregar um tipo ou alterá-lo. Para alterar o código de um tipo, você deve alterar o nome ou iniciar uma nova sessão do PowerShell. Caso contrário, o comando falhará.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
FromMember
| Position: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Namespace
Por padrão, esse comando cria o tipo no namespace Microsoft.PowerShell.Commands.AddType.AutoGeneratedTypes. Quando você usa esse parâmetro, o tipo é criado no namespace especificado. Se o valor for uma cadeia de caracteres vazia, o tipo será criado no namespace global.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | NS |
Conjuntos de parâmetros
FromMember
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-OutputAssembly
Gera um arquivo DLL para o assembly com o nome especificado no local. Insira um caminho e um nome de arquivo opcionais. Caracteres coringa são permitidos. Por padrão, Add-Type gera o assembly somente na memória. Se você enviar o assembly para um arquivo, deverá incluir o parâmetro PassThru para retornar o tipo do assembly recém-criado.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
| Aliases: | OA |
Conjuntos de parâmetros
FromSource
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
FromMember
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
FromPath
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
FromLiteralPath
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-OutputType
Especifica o tipo de saída do assembly de saída. Por padrão, nenhum tipo de saída é especificado. Este parâmetro é válido somente quando um assembly de saída é especificado no comando. Para obter mais informações sobre os valores, consulte OutputAssemblyType Enumeration.
Os valores aceitáveis para este parâmetro são os seguintes:
ConsoleApplicationLibraryWindowsApplication
Propriedades dos parâmetros
| Tipo: | OutputAssemblyType |
| Default value: | None |
| Valores aceites: | ConsoleApplication, Library, WindowsApplication |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | OT |
Conjuntos de parâmetros
FromSource
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
FromMember
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
FromPath
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
FromLiteralPath
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-PassThru
Retorna um objeto System.Runtime que representa os tipos que foram adicionados. Por padrão, esse cmdlet não gera nenhuma saída. Use esse parâmetro se você usou OutputAssembly para criar um arquivo DLL e deseja retornar o tipo do assembly recém-criado.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Path
Especifica o caminho para arquivos de código-fonte ou arquivos DLL de assembly que contêm os tipos.
Se você enviar arquivos de código-fonte, Add-Type compilará o código nos arquivos e criará um assembly na memória dos tipos. A extensão de arquivo especificada no valor de Path determina o compilador que Add-Type usa.
Se você enviar um arquivo de assembly, Add-Type os tipos do assembly. Para especificar um assembly na memória ou o cache de assembly global, use o parâmetro AssemblyName.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
FromPath
| Position: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-ReferencedAssemblies
Especifica os assemblies dos quais o tipo depende. Por padrão, Add-Type referências System.dll e System.Management.Automation.dll. Os assemblies que você especifica usando esse parâmetro são referenciados além dos assemblies padrão.
Você não pode usar o CompilerParameters e ReferencedAssemblies parâmetros no mesmo comando.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | RA (Agente de Reconfiguração) |
Conjuntos de parâmetros
FromSource
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
FromMember
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
FromPath
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
FromLiteralPath
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-TypeDefinition
Especifica o código-fonte que contém as definições de tipo. Insira o código-fonte em uma string ou here-string, ou insira uma variável que contenha o código-fonte. Para obter mais informações sobre here-strings, consulte about_Quoting_Rules.
Inclua uma declaração de namespace em sua definição de tipo. Se você omitir a declaração de namespace, seu tipo pode ter o mesmo nome que outro tipo ou o atalho para outro tipo, causando uma substituição não intencional. Por exemplo, se você definir um tipo chamado Exception, os scripts que usam Exception como atalho para System.Exception falharão.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
FromSource
| Position: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-UsingNamespace
Especifica outros namespaces que são necessários para a classe. Isso é muito parecido com a palavra-chave C#, Using.
Por padrão, Add-Type faz referência ao namespace System. Quando o parâmetro
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | System namespace |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | Utilizar |
Conjuntos de parâmetros
FromMember
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
None
Não é possível canalizar objetos para este cmdlet.
Saídas
None
Por padrão, esse cmdlet não retorna nenhuma saída.
Type
Quando você usa o parâmetro PassThru, esse cmdlet retorna um System.Type objeto que representa o novo tipo.
Notas
Os tipos que você adiciona existem somente na sessão atual. Para usar os tipos em todas as sessões, adicione-os ao seu perfil do PowerShell. Para obter mais informações sobre o perfil, consulte about_Profiles.
Os nomes de tipo e namespaces devem ser exclusivos dentro de uma sessão. Não é possível descarregar um tipo ou alterá-lo. Se precisar alterar o código de um tipo, altere o nome ou inicie uma nova sessão do PowerShell. Caso contrário, o comando falhará.
A classe Add-Type.
Este cmdlet é baseado no Microsoft .NET Framework CodeDomProvider Class.