- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
OutputType
属性应该通过智能感知提供类型信息。但是,它不能按预期方式工作。
我已经在PSReadline和PowerShell ISE中对此进行了测试,它们的工作原理相同。
以下是我正在使用的示例函数:
Function Get-FirstChar
{
[OutputType([String])]
[CmdletBinding()]
param(
[Parameter(Mandatory=$true, ValueFromPipeline=$true)][string[]]$Strings
)
process {
foreach ($str in $Strings) {
$str.SubString(0, 1);
}
}
}
"John","Simon" | Get-FirstChar | % { $_.<TAB> }
Equals GetHashCode GetType ToString
("John","Simon" | Get-FirstChar).<TAB>
SubString
等。
String[]
作为输出类型,但仍然不起作用:(
OutputType
属性,说从Powershell函数返回一个或多个字符串吗?
最佳答案
显然,您的期望是正确的。我必须说我很惊讶它不适用于[string]
,因为它确实适用于其他复杂类型:
function Get-ProcessEx {
[OutputType([System.Diagnostics.Process])]
param ()
}
Get-ProcessEx | ForEach-Object { $_.}
[string]
时,我仅获得属性(这对字符串不是很有帮助,它们具有的唯一属性是
Length
)。我认为,PowerShell ISE和PSReadline之类的工具对信息(从函数返回的对象是字符串)的响应存在错误或限制。例如。如果您对其他简单类型尝试相同的操作,结果将符合预期:
function Get-Int {
[OutputType([int])]
param ()
}
Get-Int | ForEach-Object { $_. }
OutputType
来为字符串方法提供制表符完成功能的任何现有cmdlet:
Get-Command | Where-Object { $_.OutputType.Type -eq [String] }
# Join-Path, not too surprisingly, returns System.String...
Join-Path -Path C:\temp -ChildPath a.txt | ForEach-Object { $_.}
关于powershell - PowerShell OutputType属性不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41350128/
为什么下面的类型在变化? function SomeFunction($SomeParameter){ return $SomeParameter } 我想我需要设置一个返回类型,但是如何设置
我需要根据项目的配置将 C# 项目构建为 WinExe 或库。 我已经尝试了这两种方法,但都没有成功: 1) 在一般的 PropertyGroup 中: WinExe Library 2) 在有条件的
我正在使用以下方法在我的项目中截取屏幕截图:- public String getScreenShot(String imageName) { String snapShot = null; try
我正在尝试在 Firefox 浏览器上使用 selenium webdriver 2.47.0 版本中添加的 WebElement#getScreenShotAs(OutputType.FILE) 功
Bellow 是一个示例函数,它声明 OutputType . 我知道这仅用于文档目的,但这里的问题是当我调用 PSScriptAnalyzer 时: invoke-scriptanalyzer .
我想使用 MongoDB 的 MapReduce 功能并访问大量数据。我正在使用 INLINE OutputType MapReduceCommand cmd = new MapReduceC
我的项目结构是这样的: 包含外部依赖项的 PARENT POM [与项目分开] MAIN POM,它是 PARENT POM 的子项,它包含一组子模块[它位于项目的根文件夹中] CHILD MODUL
我正在开发 powershell port of Lesspass在 Linux Mint 上使用 Visual Studio Code。 截至今天,测试在 IDE 中运行良好。 来自 VSCode
我是一名优秀的程序员,十分优秀!