Powershell 不使用中间变量从函数调用访问字段
假设我有以下powershell代码:Powershell 不使用中间变量从函数调用访问字段,powershell,Powershell,假设我有以下powershell代码: function GetImageInfo() { [OutputType([ImageInfo])] [ImageInfo] $imageInfo = [ImageInfo]::new() $imageInfo.Owner = "Me" $imageInfo.PrimaryTechnology = "jpeg" $imageInfo.OperatingSystem = "Windows" $imageIn
function GetImageInfo()
{
[OutputType([ImageInfo])]
[ImageInfo] $imageInfo = [ImageInfo]::new()
$imageInfo.Owner = "Me"
$imageInfo.PrimaryTechnology = "jpeg"
$imageInfo.OperatingSystem = "Windows"
$imageInfo.OperatingSystemVersion = "10"
return $imageInfo
}
class ImageInfo
{
[string] $Owner
[string] $PrimaryTechnology
[string] $OperatingSystem
[string] $OperatingSystemVersion
[string[]] $OptionalQualifiers
}
现在我想调用GetImageInfo
并将Owner
的值放入一个变量中
我可以这样做:
$info = GetImageInfo
$owner = $imageInfo.Owner
但我感到惊讶的是,这不起作用:
# Throws an error
$owner = GetImageInfo.Owner
对于我现在正在做的事情,较短的选项会很好
有没有办法直接从PowerShell中的方法调用获取字段?您需要将函数调用包装在括号中。这:
$owner=(GetImageInfo).owner
(GetImageInfo).所有者
@beatcracker-就是这样!作为答案后,我会接受。(谢谢!)再次感谢。这么简单,但这件事让我难堪了一段时间!