Comment passer d'une table de hachage à une fonction dans PowerShell?

Lors du passage d'une table de hachage pour mon PowerShell fonction, il se plaint qu'il reçoit d'un objet.

Function ExtendHash(){
  param(
    [hashtable] $source,
    [hashtable] $extender
  )
  ...
}

Et l'appelant:

$hash1 = @{One = 1; Two = 2}
$hash2 = @{Two = 22; three = 3}
ExtendHash($hash1, $hash2)

Ne peut pas convertir le Système.Object[] la valeur de type de Système.Object[] pour le type de Système.Collection.Hashtable

Alors, comment dois-je faire ce travail? Des Suggestions?

Aussi, suis-je raté quelque chose d'intégré? Je veux le même patron que le JavaScript utilise pour étendre les options par défaut (fusion et remplacer les valeurs par défaut).

  • Pour vos tables de hachage, ne devriez-vous pas utiliser un point-virgule au lieu d'une virgule - ie. @{Un = 1, Deux = 2} devrait être @{Un = 1; Deux = 2}
InformationsquelleAutor Stéphane | 2012-10-17