Как отобразить объект в командлете PowerShell, одно свойство которого является сложным объектом
У меня есть командлет, который выводит пользовательский объект Metric
,
Metric
класс имеет данные-члены:
Count
- типаint16
Dimension
- типаList<MetricDimension>
MetricDimension
пользовательский объект с данными-членами:
Name
- типаString
OperatorProperty
- типаString
Values
- типаList<String>
Когда я выводю свой объект Metric, показывается следующий вывод.
Размер: {Dim1,Dim2} Количество: 2
Я хочу, чтобы он отображал полную информацию об объекте (MetricDimension
) в том числе OperatorProperty
& Values
список не только Name
,
Можно ли отобразить каждое свойство объекта измерений?
// Summary:
// Specifies a metric dimension.
public class MetricDimension
{
public MetricDimension();
public MetricDimension(string name, string operatorProperty, IList<string> values);
[JsonProperty(PropertyName = "name")]
public string Name { get; set; }
[JsonProperty(PropertyName = "operator")]
public string OperatorProperty { get; set; }
[JsonProperty(PropertyName = "values")]
public IList<string> Values { get; set; }
public virtual void Validate();
}
public class Metric
{
public Metric();
public Metric(int16 count, MetricDimension dimension);
[JsonProperty(PropertyName = "count")]
public int16 Count { get; set; }
[JsonProperty(PropertyName = "dimension")]
public IList<MetricDimension> Dimension{ get; set; }
}
1 ответ
Решение
Стандартный вывод редко будет детализирован в вашем глубоком графике объектов для приятного отображения. Вы можете конвертировать в JSON, чтобы увидеть все это:
do_your_thing | ConvertTo-Json
Остерегайтесь круговых ссылок. Вы можете ограничить глубину до -Depth
параметр.