protected override void ProcessRecord()
{
if (String.IsNullOrEmpty(Property))
{
if (Object == null)
{
WriteObject(_existingProperties, true);
}
else
{
WriteObject(Object.Properties, true);
}
return;
}
var wildcard = new WildcardPattern(Property + "*", WildcardOptions.IgnoreCase);
if (Object == null)
{
WriteObject(from pair in _existingProperties
where wildcard.IsMatch(pair.Key)
select pair.Value, true);
}
else
{
WriteObject(from prop in Object.Properties
where wildcard.IsMatch(prop.LocalName)
select prop, true);
}
}
}