我想知道是否可以在C#中创建一个cmdlet来提供可以在PowerShell环境中使用的属性。我目前正在使用PowerShell 3.0。
在PowerShell中,我正在寻找这种用法:
cmdlet.Property.WrappedObject.ItsProperties
答案 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