我正在尝试将ValidateLength声明与Read-Host一起使用,但我无法使其工作。如果我在没有Read-Host的情况下使用它,它可以完美无缺。以下是一些基本示例:
[ValidateLength(1,3)] $ test =' 123'
[ValidateLength(1,3)] $ test1 = Read-Host 123 无法添加属性,因为它会导致变量test1具有值 123变为无效。 在行:1个字符:1 + [ValidateLength(1,3)] $ test1 = Read-Host + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:MetadataError:(:) [],ValidationMetadataExcepti 上 + FullyQualifiedErrorId:ValidateSetFailure
是否可以将ValidateLength声明与Read-Host一起使用?
答案 0 :(得分:2)
将您的Read-Host声明为字符串(因为ValidateLength不能接受除字符串之外的任何内容)并且问题已解决。
[ValidateLength(1,3)]$test1 = [String](Read-Host "Input")
我不确定你为什么要在其上施放类型,但它解决了这个问题。