Como implementar o uso da declaração em powershell?
Como posso escrever usando o escudo de poder ?
Este é um exemplo de trabalho em C#
using (var conn = new SqlConnection(connString))
{
Console.WriteLine("InUsing");
}
preciso do mesmo em Powershell (não funciona):
Using-Object ($conn = New-Object System.Data.SqlClient.SqlConnection($connString)) {
Write-Warning -Message 'In Using';
}
funciona sem utilizar:
$conn = New-Object System.Data.SqlClient.SqlConnection($connString)
Obrigado pela ajuda.
11
Author: Raskolnikov, 2017-02-08
1 answers
Aqui está uma solução:
function Using-Object
{
[CmdletBinding()]
param (
[Parameter(Mandatory = $true)]
[AllowEmptyString()]
[AllowEmptyCollection()]
[AllowNull()]
[Object]
$InputObject,
[Parameter(Mandatory = $true)]
[scriptblock]
$ScriptBlock
)
try
{
. $ScriptBlock
}
finally
{
if ($null -ne $InputObject -and $InputObject -is [System.IDisposable])
{
$InputObject.Dispose()
}
}
}
Encontrei esta solução aqui e para mim funcionou.
Mas é basicamente uma implementação de uma disposição num bloco final.
16
Author: Bert Levrau, 2017-02-08 09:36:06