NuGetConsole.Host.PowerShell.Implementation.RunspaceDispatcher.ExtractErrorFromErrorRecord C# (CSharp) Method

ExtractErrorFromErrorRecord() public method

public ExtractErrorFromErrorRecord ( ErrorRecord record ) : string
record System.Management.Automation.ErrorRecord
return string
        public string ExtractErrorFromErrorRecord(ErrorRecord record)
        {
            Pipeline pipeline = _runspace.CreatePipeline(command: "$input", addToHistory: false);
            pipeline.Commands.Add("out-string");

            Collection<PSObject> result;
            using (var inputCollection = new PSDataCollection<object>())
            {
                inputCollection.Add(record);
                inputCollection.Complete();
                result = InvokeCore(pipeline, inputCollection);
            }

            if (result.Count > 0)
            {
                string str = result[0].BaseObject as string;
                if (!string.IsNullOrEmpty(str))
                {
                    // Remove \r\n, which is added by the Out-String cmdlet.
                    return str.TrimEnd(new [] { '\r', '\n' });
                }
            }

            return String.Empty;
        }