Überschreiben von Eingabeverarbeitungsmethoden
Diese Beispiele zeigen, wie die Eingabeverarbeitungsmethoden innerhalb eines Cmdlets überschrieben werden. Diese Methoden werden verwendet, um die folgenden Vorgänge auszuführen:
Die System.Management.Automation.Cmdlet.BeginProcessing-Methode wird verwendet, um einmalige Startvorgänge auszuführen, die für alle vom Cmdlet verarbeiteten Objekte gültig sind. Die Windows PowerShell Runtime ruft diese Methode nur einmal auf.
Die System.Management.Automation.Cmdlet.ProcessRecord-Methode wird verwendet, um die an das Cmdlet übergebenen Objekte zu verarbeiten. Die Windows PowerShell Runtime ruft diese Methode für jedes an das Cmdlet übergebene Objekt auf.
Die System.Management.Automation.Cmdlet.EndProcessing-Methode wird verwendet, um einmalige Nachverarbeitungsvorgänge auszuführen. Die Windows PowerShell Runtime ruft diese Methode nur einmal auf.
So überschreiben Sie die BeginProcessing-Methode
- Deklarieren Sie eine geschützte Überschreibung der System.Management.Automation.Cmdlet.BeginProcessing-Methode.
Die folgende Klasse gibt eine Beispielnachricht aus. Um diese Klasse zu verwenden, ändern Sie das Verb und das Nomen im Cmdlet-Attribut, ändern Sie den Namen der Klasse entsprechend dem neuen Verb und Nomen, und fügen Sie dann die funktionalität, die Sie benötigen, der Überschreibung der System.Management.Automation.Cmdlet.BeginProcessing-Methode hinzu.
[Cmdlet(VerbsDiagnostic.Test, "BeginProcessingClass")]
public class TestBeginProcessingClassTemplate : Cmdlet
{
// Override the BeginProcessing method to add preprocessing
//operations to the cmdlet.
protected override void BeginProcessing()
{
// Replace the WriteObject method with the logic required
// by your cmdlet. It is used here to generate the following
// output:
// "This is a test of the BeginProcessing template."
WriteObject("This is a test of the BeginProcessing template.");
}
}
So überschreiben Sie die ProcessRecord-Methode
- Deklarieren Sie eine geschützte Außerkraftsetzung der System.Management.Automation.Cmdlet.ProcessRecord-Methode.
Die folgende Klasse gibt eine Beispielnachricht aus. Um diese Klasse zu verwenden, ändern Sie das Verb und das Nomen im Cmdlet-Attribut, ändern Sie den Namen der Klasse, um das neue Verb und das Nomen widerzuspiegeln, und fügen Sie dann der Überschreibung der System.Management.Automation.Cmdlet.ProcessRecord-Methode die erforderlichen Funktionen hinzu.
[Cmdlet(VerbsDiagnostic.Test, "ProcessRecordClass")]
public class TestProcessRecordClassTemplate : Cmdlet
{
// Override the ProcessRecord method to add processing
//operations to the cmdlet.
protected override void ProcessRecord()
{
// Replace the WriteObject method with the logic required
// by your cmdlet. It is used here to generate the following
// output:
// "This is a test of the ProcessRecord template."
WriteObject("This is a test of the ProcessRecord template.");
}
}
So überschreiben Sie die EndProcessing-Methode
- Deklarieren Sie eine geschützte Überschreibung der System.Management.Automation.Cmdlet.EndProcessing-Methode.
Die folgende Klasse gibt ein Beispiel aus. Um diese Klasse zu verwenden, ändern Sie das Verb und das Nomen im Cmdlet-Attribut, ändern Sie den Namen der Klasse entsprechend dem neuen Verb und Nomen, und fügen Sie dann die funktionalität hinzu, die Sie benötigen, um die Überschreibung der System.Management.Automation.Cmdlet.EndProcessing-Methode zu ermöglichen.
[Cmdlet(VerbsDiagnostic.Test, "EndProcessingClass")]
public class TestEndProcessingClassTemplate : Cmdlet
{
// Override the EndProcessing method to add postprocessing
//operations to the cmdlet.
protected override void EndProcessing()
{
// Replace the WriteObject method with the logic required
// by your cmdlet. It is used here to generate the following
// output:
// "This is a test of the BeginProcessing template."
WriteObject("This is a test of the EndProcessing template.");
}
}
Weitere Informationen
System.Management.Automation.Cmdlet.BeginProcessing
System.Management.Automation.Cmdlet.EndProcessing
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für