【发布时间】:2021-09-22 22:39:27
【问题描述】:
是否存在诸如在类中创建一个方法以根据其中一个填充字段执行某些操作?有点像静态方法。
只是想创建我自己的 Ping() 方法,但希望它只使用已填充的 ComputerName 属性。
Class Device {
[string]$ComputerName
[string]$Status
[string]$Manufacturer
[string]$Model
[string]$SerialNumber
[Void]Ping($ComputerName) {
$Echo_Reply = Test-Connection -ComputerName $ComputerName -Count 1 -Quiet
$this.Status = $Echo_Reply
}
}
如果我实例化它,为属性分配一个计算机名称,我可以直接使用我的 Ping() 方法而不引用它来实际 ping 吗?
$Device = [device]::new()$Device.ComputerName = 'ComputerOne'
我可以用我的方法ping它:$Device.Ping(),而不是引用它$Device.Ping('ComputerOne')。
【问题讨论】:
-
我对 PowerShell 中的类并没有做太多(/任何事情),但docs.microsoft.com/en-us/powershell/module/… 的文档建议
$this.ComputerName是您正在寻找读取属性值的语法,只是就像你用$this.Status设置一个一样。 -
您好,我的思考过程与我尝试过的过程相同。只是抛出一个 overload 异常。