Прочитать на английском

Поделиться через


ParameterModifier Структура

Определение

Присоединяет модификатор к параметрам, позволяя привязке работать с подписями параметров с измененными типами.

C#
public readonly struct ParameterModifier
C#
public struct ParameterModifier
C#
[System.Serializable]
public struct ParameterModifier
C#
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public struct ParameterModifier
Наследование
ParameterModifier
Атрибуты

Примеры

В следующем примере кода это показано для элемента с тремя строковыми аргументами, первый и третий из которых передаются по ссылке. Предположим, что переменная с именем obj содержит ссылку на COM-объект.

C#
// Create an array containing the arguments.
object[] args = {"Argument 1", "Argument 2", "Argument 3" };

// Initialize a ParameterModifier with the number of parameters.
ParameterModifier p = new ParameterModifier(3);

// Pass the first and third parameters by reference.
p[0] = true;
p[2] = true;

// The ParameterModifier must be passed as the single element
// of an array.
ParameterModifier[] mods = { p };

// Invoke the method late bound.
obj.GetType().InvokeMember("MethodName", BindingFlags.InvokeMethod,
     null, obj, args, mods, null, null);

Комментарии

Структура ParameterModifier используется с перегрузкой Type.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) метода при передаче параметров по ссылке на компонент COM, доступ к которому осуществляется с поздней привязкой. Параметры, передаваемые по ссылке, задаются одной ParameterModifier структурой, которая должна быть передана в массив, содержащий один элемент. Отдельная ParameterModifier структура в этом массиве должна быть инициализирована с количеством параметров в вызываемом элементе. Чтобы указать, какой из этих параметров передается по ссылке, задайте для свойства (индексатора в C#) true значение Item[] для номера индекса, соответствующего отсчитываемой от нуля позиции параметра.

Конструкторы

ParameterModifier(Int32)

Инициализирует новый экземпляр структуры ParameterModifier, которая представляет указанное число параметров.

Свойства

Item[Int32]

Возвращает или задает значение, которое указывает, будет ли параметр в указанном положении индекса изменен текущим элементом ParameterModifier.

Применяется к

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.5, 1.6, 2.0, 2.1