Private/New-OperationValidationResult.ps1
function New-OperationValidationResult { [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '', Scope='Function', Target='*')] param ( [Parameter(Mandatory)] [string]$FileName, [Parameter(Mandatory)] [string]$Name, [Parameter(Mandatory)] [string]$Result, [string]$Module, [object]$RawResult, [object]$Error ) $o = [pscustomobject]@{ PSTypeName = 'OperationValidationResult' Module = $Module FileName = $FileName ShortName = ([IO.Path]::GetFileName($FileName)) Name = $Name Result = $Result Error = $Error RawResult = $RawResult } $toString = { return ('{0} ({1}): {2}' -f $this.Module, $this.FileName, $this.Name) } Add-Member -InputObject $o -MemberType ScriptMethod -Name ToString -Value $toString -Force $o } |