Onay İsteme
Bu örnek, bir eylem gerçekleştirmeden önce kullanıcıdan onay isteğinde bulunan System.Management.Automation.Cmdlet.ShouldProcess ve System.Management.Automation.Cmdlet.ShouldContinue yöntemlerinin nasıl çağrıldiğini gösterir.
Önemli
Bu istekleri nasıl Windows PowerShell daha fazla bilgi için bkz. Onay İstenen.
Onay isteği için
SupportsShouldProcess
Cmdlet özniteliğinin parametresinin olarak ayarlanmış olduğundan emintrue
olmak. (İşlevler için bu cmdletBinding özniteliğinin bir parametresidir.)[Cmdlet(VerbsDiagnostic.Test, "RequestConfirmationTemplate1", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)]
Not
Tek
SupportsShouldProcess
başına kullanmak, kullanıcıdan onay istenecek bir garanti değildir. İstem, değerinin$ConfirmPreference
değerine ve eyleminizin etkisine göre belirlenir. işleminizinConfirmImpact
etkisinin önem derecelerini ayarlamak için kullanın.Kullanıcının bir
Force
onay isteğini geçersiz kılarak cmdlet'inize bir parametre ekleyin.[Parameter()] public SwitchParameter Force { get { return force; } set { force = value; } } private bool force;
if
System.Management.Automation.Cmdlet.ShouldContinue yönteminin çağrılıp çağrılmadiğini belirlemek için System.Management.Automation.Cmdlet.ShouldProcess yönteminin dönüş değerini kullanan bir deyimi ekleyin.if
System.Management.Automation.Cmdlet.ShouldContinue yönteminin dönüş değerini ve işlemi gerçekleştirilip gerçekleştirilecek olmadığını belirlemek için parametresinin değerini kullanan ikinci birForce
deyim ekleyin.
Örnek
Aşağıdaki kod örneğinde System.Management.Automation.Cmdlet.ShouldProcess ve System.Management.Automation.Cmdlet.ShouldContinue yöntemleri, System.Management.Automation.Cmdlet.ProcessRecord yönteminin geçersiz kılınma işlemi içinde çağrılır. Ancak, bu yöntemleri diğer giriş işleme yöntemlerinden de çağırebilirsiniz.
protected override void ProcessRecord()
{
if (ShouldProcess("ShouldProcess target"))
{
if (Force || ShouldContinue("", ""))
{
// Add code that performs the operation.
}
}
}
Ayrıca Bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin