也许这个问题已经回答过了....但我还没有找到一个明确的答案,以我的需求。
顺便说一句,我使用的PowerShell 3
嗯,我在PowerShell中新的,但我有很多的经验,作为一个C#开发人员,所以工作对象是对我很重要。
所以我在PowerShell脚本知道是否有申请OOP概念 干净的方式 (当然不是所有的人,尽管这将是真棒),例如有,我愿做具体的事情。
注:我知道,我可以写在PowerShell中的C#代码来创建DTO的,也我可以创建在C#的PowerShell二进制模块,我已经做了,在过去,但我在寻找什么现在是写的能力我所有的代码在PowerShell中,但在面向对象的方式 。
的事情,我想这样做:
建立在PowerShell中的对象,并公开写在PowerShell中还有一个功能,是这样的:
function New-Person ( [Parameter()][string]$firstName ) { function Walk() { Write-Host "Walking..."; } $person = New-Object psobject; $person | Add-Member -MemberType NoteProperty -Name FirstName -Value $firstName; #This line does not work #$person | Add-Member -MemberType CodeMethod -Name Walk -Value Walk; return $person; } $MyPerson = New-Person -firstName "JP"; $MyPerson; #This line does not work $MyPerson.Walk();
封装的行为,这意味着创建我的对象内的功能,然后将其标记为私有
[很高兴有]。 创建基类,所以我可以继承和专注自己的行为覆盖方法
[很高兴有]。 创建接口,这样我就可以开始在单元测试中的思维隔离我PowerShell的方法(我知道有像纠缠的工具来做到这一点,我只是专注于面向对象特性)
什么到目前为止,我所做的是创建具有属性的对象只(DTO的),但我想添加行为,我的对象
如果你们点我在正确的方向我会很感激