4
我在寫一個自定義的PowerShell cmdlet,我想知道哪個是驗證參數的正確方法。
我認爲,這既可以在屬性set訪問或執行cmdlet過程中完成:PowerShell cmdlet參數驗證
[Cmdlet(VerbsCommon.Add,"X")]
public class AddX : Cmdlet {
private string _name;
[Parameter(
Mandatory=false,
HelpMessage="The name of the X")]
public string name {
get {return _name;}
set {
// Should the parameter be validated in the set accessor?
if (_name.Contains(" ")) {
// call ThrowTerminatingError
}
_name = value;
}
}
protected override void ProcessRecord() {
// or in the ProcessRecord method?
if (_name.Contains(" ")) {
// call ThrowTerminatingError
}
}
}
這是「標準」的做法?屬性設置器,ProcessRecord或者完全不同的東西?
正是我在找什麼,謝謝! – 2009-10-08 14:52:37