Powershell CmdLet和一次性领域/ CA1001

时间:2012-07-02 05:21:35

标签: powershell

CmdLets和一次性字段的可接受模式是什么?

FxCop规则是:拥有一次性字段的类型应该是一次性的

但是除非PowerShell调用dispose方法....否则它实际上不会帮助实现模式。

到目前为止,我使用Begin / EndProcessing方法来设置和清除字段。

遗憾的是,我找不到有关PowerShell是否正确调用Dispose方法的任何文档。

1 个答案:

答案 0 :(得分:5)

实现Cmdlet(或PSCmdlet)派生命令时,实现IDisposable,PowerShell将在管道完成时为您配置命令。就这么简单。您是否看到与此相矛盾的行为?

更新,来自LetMeGoogleThatForYou:

  

“...因此,需要对象清理的cmdlet应该   实现完整的IDisposable模式,包括终结器,所以   运行时可以同时调用   System.Management.Automation.Cmdlet.EndProcessing和Dispose方法   在处理结束时。“

来自:http://msdn.microsoft.com/en-us/library/windows/desktop/ms714463(v=vs.85).aspx