/
githubmirror
/
PowerShell
Обзор
Документация
Войти
/
githubmirror
/
PowerShell
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/System.Management.Automation/engine/ComInterop/ComClassMetaObject.cs
30 строк
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.Dynamic; using System.Linq.Expressions; using AstUtils = System.Management.Automation.Interpreter.Utils; namespace System.Management.Automation.ComInterop { internal class ComClassMetaObject : DynamicMetaObject { internal ComClassMetaObject(Expression expression, ComTypeClassDesc cls) : base(expression, BindingRestrictions.Empty, cls) { } public override DynamicMetaObject BindCreateInstance(CreateInstanceBinder binder, DynamicMetaObject[] args) { return new DynamicMetaObject( Expression.Call( AstUtils.Convert(Expression, typeof(ComTypeClassDesc)), typeof(ComTypeClassDesc).GetMethod(nameof(ComTypeClassDesc.CreateInstance)) ), BindingRestrictions.Combine(args).Merge( BindingRestrictions.GetTypeRestriction(Expression, typeof(ComTypeClassDesc)) ) ); } } }