类实例方法参数上的 ValidateSet; Powershell 5.1

问题描述 投票:0回答:1

ValidateSet 是 Powershell 5.1 中的一个很棒的功能。不幸的是,您不能在类实例(对象)函数中的参数上使用它。

有没有办法强制使用 ValidateSet?

注意:经过一段时间的研究,我找到了一种方法。希望如果有人在未来遇到同样的问题,我的回答可以有所帮助。如果您有其他方法,请添加您自己的答案。

class-method powershell-5.1 instance-methods validateset
1个回答
0
投票
Class Powershell {
   $version
   Powershell($profile) {

   }

   SetVersion($version) {  try { [ValidateSet(5, 5.1, "5", "5.1", 7, 7.4, "7", "7.4")]$_version = $version}
      catch {
            Write-Host "SetVersion IllegalArgumentException version == $version. See method header for list of valid args -ForegroundColor DarkRed
            Write-Host "Exiting Script..." -ForegroundColor DarkRed
            exit
      }

      *rest of function*
      
   }
}
© www.soinside.com 2019 - 2024. All rights reserved.