我正在为 PowerShell 编写NavigationCmdletProvider。通过GetItem和GetChildItems覆盖,可以将各种类型的对象写入管道。
IPropertyCmdletProvider接口的文档告诉我们以下内容:
开发者应在以下条件下实现该接口:
- 当用户必须使用诸如 Get-Property 和 Set-Property cmdlet 之类的 cmdlet 时。
- 对于从 ItemCmdletProvider、ContainerCmdletProvider 或 NavigationCmdletProvider 类派生的提供程序。
困惑:
我认为没有很多有用的信息,因为用户如何知道他们是否必须使用 Get-Property 和 Set-Property cmdlet?我想这取决于 Cmdlet 作者。最大的困惑(至少对我而言)是 Cmdlet 是否将对象写入管道;并且这些对象具有可调用的公开属性(即获取/设置);调用 Get-Property/Set-Property 比直接操作对象有什么好处?
问题:
什么情况下应该实现IPropertyCmdletProvider接口?
我知道我在这里遗漏了一些东西!任何见解将不胜感激。