我最近开始与C#二进制PowerShell的编程尝试,并且我遇到一些麻烦ParameterValidationAttributes的ValidateScript属性居多。 基本上,我想创建一个名为帕拉姆“计算机名”,并验证计算机是当时在线。 这是很容易在PowerShell中:
[Parameter(ValueFromPipeLine = $true)]
[ValidateScript({ if (Test-Connection -ComputerName $_ -Quiet -Count 1) { $true } else { throw "Unable to connect to $_." }})]
[String]
$ComputerName = $env:COMPUTERNAME,
但我无法弄清楚如何复制,在C#。 在ValidateScript属性需要一个脚本块对象http://msdn.microsoft.com/en-us/library/system.management.automation.scriptblock(v=vs.85).aspx我只是不知道如何创建一个在C#中,我真的不能找到任何的例子。
[Parameter(ValueFromPipeline = true)]
[ValidateScript(//Code Here//)]
public string ComputerName { get; set; }
C#是很新的给我,所以我appologize如果这是一个愚蠢的问题。 这里是一个链接的ValidateScript属性类: http://msdn.microsoft.com/en-us/library/system.management.automation.validatescriptattribute(v=vs.85).aspx