Team Ai
Datasetpublic

MegaBites-AI/Windows-powershell

sourceHugging Facemitupdated 6mo agoView on Hugging Face
0likes372downloads
ErrorArgBuilder.cs40 linesDownload Raw Back to ComInterop
1// Licensed to the .NET Foundation under one or more agreements.2// The .NET Foundation licenses this file to you under the MIT license.3 4using System;5using System.Diagnostics;6using System.Linq.Expressions;7using System.Runtime.InteropServices;8 9namespace System.Management.Automation.ComInterop10{11    internal class ErrorArgBuilder : SimpleArgBuilder12    {13        internal ErrorArgBuilder(Type parameterType)14            : base(parameterType)15        {16            Debug.Assert(parameterType == typeof(ErrorWrapper));17        }18 19        internal override Expression Marshal(Expression parameter)20        {21            // parameter.ErrorCode22            return Expression.Property(23                Helpers.Convert(base.Marshal(parameter), typeof(ErrorWrapper)),24                nameof(ErrorWrapper.ErrorCode)25            );26        }27 28        internal override Expression UnmarshalFromRef(Expression value)29        {30            // new ErrorWrapper(value)31            return base.UnmarshalFromRef(32                Expression.New(33                    typeof(ErrorWrapper).GetConstructor(new Type[] { typeof(int) }),34                    value35                )36            );37        }38    }39}40