/
githubmirror
/
PowerShell
Обзор
Документация
Войти
/
githubmirror
/
PowerShell
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/System.Management.Automation/engine/ComInterop/ArgBuilder.cs
39 строк
1 KB
Dongbo Wang
Refresh and enable the `ComInterop` code in PowerShell (#13304)
08 авг 2020, 02:24
Не верифицирован
08 авг 2020, 02:24
4214800
Код
Авторство
О чём код?
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Linq.Expressions; namespace System.Management.Automation.ComInterop { /// <summary> /// ArgBuilder provides an argument value used by the MethodBinder. One ArgBuilder exists for each /// physical parameter defined on a method. /// /// Contrast this with ParameterWrapper which represents the logical argument passed to the method. /// </summary> internal abstract class ArgBuilder { /// <summary> /// Provides the Expression which provides the value to be passed to the argument. /// </summary> internal abstract Expression Marshal(Expression parameter); /// <summary> /// Provides the Expression which provides the value to be passed to the argument. /// This method is called when result is intended to be used ByRef. /// </summary> internal virtual Expression MarshalToRef(Expression parameter) { return Marshal(parameter); } /// <summary> /// Provides an Expression which will update the provided value after a call to the method. /// May return null if no update is required. /// </summary> internal virtual Expression UnmarshalFromRef(Expression newValue) { return newValue; } } }