如何在 PowerShell cmdlet 中显示一个 属性 本身就是一个复杂对象的对象
How to display an object in PowerShell cmdlet whose one property itself is an complex object
我有一个输出用户定义对象的 cmdlet Metric
。
Metric
class 有数据成员:
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; }
}
标准输出很少会深入到您的深层对象图中以令人愉悦地显示。您可以转换为 JSON 以查看全部内容:
do_your_thing | ConvertTo-Json
注意循环引用。您可以使用 -Depth
参数限制它下降的深度。
我有一个输出用户定义对象的 cmdlet Metric
。
Metric
class 有数据成员:
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; }
}
标准输出很少会深入到您的深层对象图中以令人愉悦地显示。您可以转换为 JSON 以查看全部内容:
do_your_thing | ConvertTo-Json
注意循环引用。您可以使用 -Depth
参数限制它下降的深度。