使用“param(<params here)”“=”“inside =”“a =”“function =”“over =”“”function =“”myfunc(<param =“”here =“”> )“?</参数>

时间:2015-02-11 07:21:55

标签: powershell

为什么参数输入可以有两种不同的格式?除此之外还有其他任何好处吗?

例如,我正在使用它,因为这是我第一次阅读有关Powershell的文档

function MyAwesomeFunction
  (
    [parameter(Mandatory=$Whatever)]
    [string]
    $MyAwesomeVariable = MyAwesomeDefaultValue
  )
  {MyAwesome stuff to do}

但是在查看用户制作的示例时会出现这样的情况

function MyAwesomeFunction 
  {
    param(
    [parameter(Mandatory=$Whatever)]
    [string]
    $MyAwesomeVariable = MyAwesomeDefaultValue
    )
  MyAwesome stuff to do
  }

1 个答案:

答案 0 :(得分:2)

如果您只是编写一个普通的旧函数,PowerShell并不关心您使用哪种样式;无论哪种方式,它都应该工作。但是,很多人使用Param()来保持一致性,因为在某些情况下这是必需的。最值得注意的是,CmdletBinding()属性需要使用Param()(即使您的函数没有任何参数)。