Я работал над некоторыми функциями PowerShell для управления объектами, реализованными в сборке, которую мы создали. Один из классов, с которыми я работал с инструментами IEnumerable. К сожалению, это заставляет PowerShell разворачивать объект при каждой возможности. (Я не могу изменить тот факт, что класс реализует IEnumerable.)
Я работал над проблемой, создав PSObject и скопировав свойства нашего пользовательского объекта в PSObject, а затем вернул это вместо пользовательского объекта. Но я бы скорее вернул наш пользовательский объект.
Есть ли какой-то способ, предположительно, используя мой файл types.ps1xml, чтобы скрыть метод GetEnumerator() этого класса от PowerShell (или иначе сказать PowerShell никогда не разворачивать его).