Полезный ответ Матиаса Р. Джессена показывает полезность и лаконичность оператора доступа к члену.
Для дальнейшего расширения вы можете преобразовать или изменить тип вывода. Затем используйте любой метод, которым хотите получить доступ к свойству. Возьмите определенную функцию ниже:
Function Foo {
'October 23, 2020'
}
(Foo).GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
Мы знаем, что функция Foo
возвращает строку, у которой нет свойства Month
. Мы можем преобразовать String
в объект DateTime
.
([datetime](Foo)).GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True DateTime System.ValueType
([datetime](Foo)).Month
10
[datetime](Foo) | Select -Expand Month
10
Вы можете использовать оператор -as
для изменения типа при условии, что он может быть приведен как есть.
((Foo) -as [datetime]).Month
10