2 Pluspunkte 0 Minuspunkte

Wenn ich ein Custom Object in Powershell erstelle

$CustomObject = New-Object PSObject -Property @{ 
    Property1 = "Wert1" 
    Property2 = "Wert2" 

    Property3 = function(v) { ... }
}

Kann ich in dem Objekt auch Funktionen definieren wie bei einer Klasse in C#?

bezieht sich auf eine Antwort auf: Objekt in Powershell erstellen
von  

1 Antwort

1 Pluspunkt 0 Minuspunkte

In der PowerShell Konsole können Klassen nicht interaktiv definiert oder verwendet werden. Stattdessen solltest du den Code in eine separate Datei speichern und dann diese Datei in der PowerShell Konsole ausführen. Eine Klasse in Powershell deklarierst du mit dem Keyword "class".

class MeinBenutzerdefiniertesObjekt {

    [string] $Property1
    [string] $Property2

    MeinBenutzerdefiniertesObjekt([string] $p1, [string] $p2) {
        $this.Property1 = $p1
        $this.Property2 = $p2
    }

}

# Erstellen einer Instanz der Klasse
$CustomObject = [MeinBenutzerdefiniertesObjekt]::new("Wert1", "Wert2")

# Anzeigen der Eigenschaften der Instanz
$CustomObject.Property1
$CustomObject.Property2
von (706 Punkte)