我正在写一个自定义的PowerShell命令,我想知道这是为了确认参数的正确方法。
我认为,这既可以在属性set访问或执行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或完全不同的东西?