PowerShell 技能连载 - 创建真实的类
PowerShell 5.0 开始引入了类的概念,不过您也可以在 PowerShell 的其它版本中使用自定义类。只需要用 C# 代码来定义真正的类,然后用 Add-Type
来编译这些类。
以下是一个创建一个名为“myClass”,包含三个属性的新类。PowerShell 接下来可以用 New-Object
命令创建对象。
$code = '
using System;
public class myClass
{
public bool Enabled { get; set; }
public string Name { get; set; }
public DateTime Time { get; set; }
}
'
Add-Type -TypeDefinition $code
$instance = New-Object -TypeName myClass
$instance.Enabled = $true
$instance.Time = Get-Date
$instance.Name = $env:username
$instance
为什么需要这么做呢?自定义的类可以包含来自多个来源的信息,而且您可以使用 C# 的各种复杂特性来定义您的类,包括方法、动态和静态成员等。
显然,拥有一些技术背景的开发人员对这种技术最感兴趣。
PowerShell 技能连载 - 创建真实的类