【问题标题】:Member type in PowerShell (ScriptProperty, Property, and NoteProperty)PowerShell 中的成员类型(ScriptProperty、Property 和 NoteProperty)
【发布时间】:2019-01-16 18:50:12
【问题描述】:

PowerShell 中有哪些成员类型,如 ScriptProperty、Property、Method、NoteProperty、Alias 和 EventProperty?

例如,CPU 是 ScriptProperty。我们如何将其归类为 ScriptProperty?

我想了解所有这些的简要信息。

【问题讨论】:

    标签: powershell powershell-3.0


    【解决方案1】:

    以前在 MSDN 上对 PowerShell 扩展类型系统 有很好的介绍(不幸的是,由于 PSH v1 以来的变化而丢失了)。

    本质上,PowerShell 允许通过 PSObject 类型将底层 .NET 对象与其他成员一起包装。这可以通过多种方式完成:

    • 使用Add-Member(给予最大控制)
    • 通过将哈希而不是名称传递给 Select-Object 的属性参数来指定其他属性
    • 使用New-Object创建PSObject并传递
    • 在 .NET 代码(C#、VB 等)中使用底层 PSObject 属性和 PSMemberInfo 子类型。

    不同类型的“扩展”成员由PSMemberInfo 子类型表示,包括:

    • NoteProperty:.NET 对象或值。
    • AliasProperty:另一个属性的别名(例如,一个集合可以同时具有 Count 和 Length 属性,其中一个是另一个的另一个名称)。
    • ScriptProperty:具有用 PowerShell 编写的 get 和 set 方法的属性。
    • CodeProperty:具有用 C#、VB 等编写的 get 和 set 方法的属性。

    等等。

    【讨论】:

      【解决方案2】:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多