PowerShell对象有“神奇的功能”吗?

时间:2013-07-26 20:47:33

标签: powershell powershell-v2.0 magic-function

在PHP中,如果你需要它们,就会存在“魔术方法”。一个例子是__toString()方法,用于在一段代码试图回显对象时回显出特定的字符串。这是使用PHP的示例:

<?php
// Declare a simple class
class TestClass
{
    public $foo;

    public function __construct($foo)
    {
        $this->foo = $foo;
    }

    public function __toString()
    {
        return $this->foo;
    }
}

$class = new TestClass('Hello');
echo $class;
?>

哪会回来:

Hello

是否有一个“魔术功能”可以在Powershell中执行此操作?

1 个答案:

答案 0 :(得分:4)

PowerShell中的所有默认PSObject都有一个ToString()方法,如果您在脚本中创建自定义对象(而不是代码),那么您将会使用此方法。您需要的只是使用Add-Member覆盖ToString()方法。

有关详细说明,请参阅this question

您可以通过将对象的实例传递给Get-Member来查看自定义对象的成员。