ScriptProperty 和方法之间的区别

ScriptProperty 和方法之间的区别

在 powershell 中,当我执行Get-Member此操作时Get-WMIObject -Class Win32_OperatingSystem,我得到了这个 cmdlet 的很多成员。

其中大多数是属性。但它们的工作方式ConvertToDateTimeConvertFromDateTime方法类似(它们将 UNIX 日期/时间戳转换为人类可读的格式),仍然被标记为 ScriptProperty。

ScriptProperty 和 Method 之间有什么区别?

答案1

脚本方法:从 PowerShell 脚本实现的方法。

例子:

$A = Get-ChildItem C:\Temp\test.txt
$S = {[math]::Round(($this.Length / 1MB), 2)}
$A | Add-Member -MemberType ScriptMethod -Name "SizeInMB" -Value $S
$A.SizeInMB()

0.4

脚本属性:脚本语言定义的属性。

答案2

PowershellScriptMethod对象属性是使用 Powershell scriptblock 对象定义的添加会员, 尽管方法Add-Type -TypeDefinition 'foo'在 C# 中使用或通过导入程序集来定义。

功能上的差异将会非常小。

相关内容