function Itil
{
$_.Font = 'Microsoft Sans Serif, 8.25pt, style=Italic'
$_.Text = 'Double-click to add username'
$_.ForeColor = 'ScrollBar'
}
$Username10.Font = 'Microsoft Sans Serif, 8.25pt, style=Italic'
$Username10.Text = 'Double-click to add username'
$Username10.ForeColor = 'ScrollBar'有没有一种方法可以在不命名对象本身的情况下将对象传递到函数中?
换句话说,我不需要为每个$username (有10个用户名文本框)重复相同的最后三行代码,而是可以使用对象的名称调用一个函数,并对该对象进行更改?
发布于 2018-02-12 22:04:40
Mathias提供了一种使用PowerShell过滤器的很好的方法。然而,如果你想使用一个简单的函数,这应该是可行的:
function Set-BasicProperties
{
[CmdletBinding()]
Param
(
$UiObject
)
$UiObject.Font = 'Microsoft Sans Serif, 8.25pt, style=Italic'
$UiObject.Text = 'Double-click to add username'
$UiObject.ForeColor = 'ScrollBar'
}
Set-BasicProperties $Username10发布于 2018-02-12 22:03:14
如果输入对象都是引用类型,则可以遍历$input枚举器:
filter Set-UsernameFieldStyle {
$input |ForEach-Object {
$_.Font = 'Microsoft Sans Serif, 8.25pt, style=Italic'
$_.Text = 'Double-click to add username'
$_.ForeColor = 'ScrollBar'
}
}并像这样使用:
# Input all the elements that need to be styled this way via the pipeline:
$Username1,$Username4,$Username10 |Set-UsernameFieldStylehttps://stackoverflow.com/questions/48748195
复制相似问题