Project

General

Profile

New-Function

Function New-Function($Name, $properties)

Auteur : Doug Finke

Création dynamique de fonction créant des objets personnalisés. Par défaut la fonction est créée dans la portée globale, si on utilise le dotsourcing la fonction est créée dans la porté locale.

Exemple :

  #Appel global
New-Function 'New-Personne' 'Nom Prénom Adresse Ville CodePostal'            
$Personne=New-Personne Durand Pierre "7 Rue du Beffroi" Lille -CodePostal 59100

La fonction New-Function créée la fonction nommée New-Personne :
(dir Function:New-Personne).Definition

Son contenu est égal à :
param($Nom,$Prénom,$Adresse,$Ville,$CodePostal) New-Object PSObject|
 select  @{
            Name = 'Nom'
            Expression = {$Nom}
        }, @{
            Name = 'Prénom'
            Expression = {$Prénom}
        }, @{
            Name = 'Adresse'
            Expression = {$Adresse}
        }, @{
            Name = 'Ville'
            Expression = {$Ville}
        }, @{
            Name = 'CodePostal'
            Expression = {$CodePostal}
        }

L'appel de cette fonction
$Personne=New-Personne Durand Pierre "7 Rue du Beffroi" Lille -CodePostal 59100

Crée un l'objet personnalisé $Personne suivant :
Nom        : Durand
Prénom     : Pierre
Adresse    : 7 Rue du Beffroi
Ville      : Lille
CodePostal : 59100

  #Appel local
. New-Function 'New-Personne' 'Nom Prénom Adresse Ville CodePostal'            
$Personne=New-Personne Durand Pierre "7 Rue du Beffroi" Lille -CodePostal 59100