1

我有一个自定义 PowerShell cmdlet,其中一个输入属性具有以下属性。该属性是一个 get/set 类型的 float 。我希望能够为这个属性提供一个浮点值或一个变量。

[Parameter(
ValueFromPipeline=true,
ValueFromPipelineByPropertyName = true,
Mandatory = true)]
public float MyProperty
{
    get { return _myProp; }
    set { _myProp = value; }
}

像这样在我的脚本中声明和分配变量会导致以下错误。

[float]$r=0.05
--or--
$r=0.05



  PS C:>get-mycmdlet

  cmdlet Get-mycmdlet at command pipeline position 1
  Supply values for the following parameters:
  (Type !? for Help.)
  myPropperty: $r
  Cannot recognize "$r" as a System.Single due to a format error.
  myProperty:

我的 PS cmdlet 需要什么才能让它接受我的变量?谢谢

4

1 回答 1

3

如果您在命令行上指定参数,这应该可以正常工作,即:

get-mycmdlet -MyProperty $r

我不认为交互式提示接受变量。

于 2011-10-02T14:23:45.060 回答