开发者

Using module-wide variables in Powershell 2.0

开发者 https://www.devze.com 2023-02-12 04:15 出处:网络
I\'ve written a module to work with IBMs ClearCase through Powershell. At first it just contained a couple of often used functions, but now I\'m expanding it. Most of the commands have to use a ClearT

I've written a module to work with IBMs ClearCase through Powershell. At first it just contained a couple of often used functions, but now I'm expanding it. Most of the commands have to use a ClearTool object ($ct = new-object ClearCase.ClearTool), but I'd rather not have to recreate that object in every function call as it's a bit of overhead.

I also create a ClearCase view in many of these functions, but I can simply check for existence of the view and decide not to recreate it.

My question is, what's the best pattern for this? I can have a "create ct object" function and put the onus on the calling code to maintain it, but I don't think I like that me开发者_开发百科thod. Is it possible to have a module-wide variable for the ClearTool object and have Powershell check to see if it's filled before trying to recreate it each time?

Thanks!


In the end I created a couple of module-wide variables. I could hide them if necessary, although I haven't explicitly done that yet. I have a single function to create a view which must be called before doing any actual work and included in that is code to create the ClearTool object. I also have code to set the module-wide variables with the correct ClearTool object for use in other functions and the name of the view.

In the code of each of the functions if the ClearTool object ($ct) has not yet been set, they return an error condition.

0

精彩评论

暂无评论...
验证码 换一张
取 消