Sobrecarregado ToString () métodos de um objeto TimeSpan

4

Ao usar o PowerShell, por que não posso usar os métodos sobrecarregados do ToString para o Estrutura TimeSpan?

$ts = New-TimeSpan -Days 5
$ts.ToString("g")
Cannot find an overload for "ToString" and the argument count: "1".
At line:1 char:13
+ $ts.ToString <<<< ("g")
    + CategoryInfo          : NotSpecified: (:) [], MethodException
    + FullyQualifiedErrorId : MethodCountCouldNotFindBest

Existe uma solução alternativa?

    
por pk. 25.08.2011 / 21:06

1 resposta

4

Eu acho que o que está acontecendo é que você quer a versão .NET 4 de TimeSpan.ToString () , que tem 2 sobrecargas, e você está obtendo a versão .NET 3.5 TimeSpan.ToString () , que não possui sobrecargas. Se você olhar para esta pergunta no StackOverflow, ele mostra como fazer com que o PS use o. NET 4 assemblies.

[Adição] Depois de criar o arquivo de configuração pelo link acima, consegui fazer o seguinte para executar com sucesso:

PS C:\Scripts > add-type -Path "C:\Windows\Microsoft.NET\framework64\v4.0.30319\mscorlib.dll"

PS C:\Scripts > $ts = New-Object -Type System.TimeSpan

PS C:\Scripts > $ts.Tostring("g")

0:00:00
    
por 25.08.2011 / 21:59

Tags