前一段时间在看微软的Typescript能把TS中的Class和Interface转换成Javascript,我当时就想能不能写一个PowerShell扩展,让PowerShell中可以定义类,经过简单编译转换成PSCustomObject,但是由于能力有限不知如何入手,未曾想到了PowerShell 5.0 中,微软直接从产品级提供了支持。爱就一个字:“酷”。
换做以前,我们会使用PSCustomObject,或者哈希表。尽管PSCustomObject也可以添加属性和方法,但是毕竟显得不伦不类,并且类型都为PSCustomObject,没有一个具体的名称,稍显别扭。
本文演示如何使用PowerShell 5.0中的新特性来自定义类:
class Point
{
## 使用PowerShell正常的变量语法来定义两个属性,
## 你也可以限制变量的属性。
## 使用正常的类型限制符:
## [type] $VarName = initialValue
$X = 0
$Y = 0
## 定义一个方法(返回值为Void)
## 定义两个参数,
## 当然你可以给参数添加类型
[void] Move($xOffset, $yOffset)
{
$X += $xOffset
$Y += $yOffset
}
}
## 创建一个Point 类型,并调用方法
$point = [Point]::new()
$point.Move(10, 20)
$point
调用时,输出结果为:
PS> c:\temp\point.ps1 | Format-Table -Auto
X Y
- -
10 20
别看只定义了一个会移动的点(Point),一生二,二生三,三可以生万物。接下来我们掀起一段小高潮:
声明:本文示例代码和sh’g图片来自Lee Holmes的博文Playing with Classes in PowerShell v5 Preview。
本文链接: https://www.pstips.net/play-class-in-powershell-v5.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

这样挺好的,那个旋转的图形脚本下载地址有吗?
终于来Class了,Add-Member快吐了
同求3D图形代码