MegaBites-AI/Windows-powershell
0372
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.Linq.Expressions;6 7namespace System.Management.Automation.ComInterop8{9 internal class ConvertArgBuilder : SimpleArgBuilder10 {11 private readonly Type _marshalType;12 13 internal ConvertArgBuilder(Type parameterType, Type marshalType)14 : base(parameterType)15 {16 _marshalType = marshalType;17 }18 19 internal override Expression Marshal(Expression parameter)20 {21 parameter = base.Marshal(parameter);22 return Expression.Convert(parameter, _marshalType);23 }24 25 internal override Expression UnmarshalFromRef(Expression newValue)26 {27 return base.UnmarshalFromRef(Expression.Convert(newValue, ParameterType));28 }29 }30}31 