我正在構建一個使用Powershell的自動化系統,並且我想定義自定義的.Net類型,以便可以以類似於我編寫的其他代碼的方式構建我的應用程序。起初,我嘗試使用'Add-Type'將c#文件中的類型導入到我的應用程序中,但我發現這樣做非常痛苦,因爲.net類型只能在每個Powershell會話期間加載一次。這意味着當出現錯誤時,對我的代碼進行單個更改需要我重新啓動我的應用程序(我可能會使用C#)。有沒有更好的方法來獲取Powershell中的'類'語義(定義自定義類型)?
目前我通過使用工廠函數來模擬Powershell中的類型,這些函數使用我需要的語義動態生成PSObjects。這確實有效,但它非常冗長,我似乎無法聲明私有變量或封裝方法。
有沒有更簡單的方法來實現我想要的?
如果沒有....
我不知何故,我想通過編寫使用抽象數據類型我PowerShell代碼找錯了樹?
有沒有更好的方法來構建我應該知道的系統?
我現在能做些什麼封裝嗎?
1+謝謝,我會研究這個 看起來像Ruby + Python在這裏有優勢,當涉及到動態腳本 – Willbill 2010-08-12 09:54:51
這取決於你需要什麼,但如果你真的找oop語言,PowerShell是imho不是一個好的選擇。目標受衆是其他人 - 主要是管理員和高級用戶,而不是程序員。但必須說的是,它爲程序員提供了很好的工作機會;) – stej 2010-08-12 09:59:07