如何创建支持点表示法的C#cmdlet

时间:2014-08-05 17:26:40

标签: c# powershell cmdlet

我想知道是否可以在C#中创建一个cmdlet来提供可以在PowerShell环境中使用的属性。我目前正在使用PowerShell 3.0。

在PowerShell中,我正在寻找这种用法:

cmdlet.Property.WrappedObject.ItsProperties

1 个答案:

答案 0 :(得分:1)

在PowerShell中,cmdlet的形式为Verb-Noun。它没有点符号。但是,cmdlet可以返回任何.NET对象。所以你可以拥有一个C#类,例如:

public class MyObject
{
   public string ObjectName { get; set; }
   public int ObjectValue { get; set; }
}

然后,您可以拥有一个返回该.NET对象的PowerShell cmdlet Get-MyObject,例如:

$obj = Get-MyObject

然后您可以使用点表示法来获取返回对象中的属性:

Write-Host $obj.ObjectName
Write-Host $obj.ObjectValue