Marshal.GetComSlotForMethodInfo(MemberInfo) Метод

Определение

Извлекает ячейку таблицы виртуальных функций (VTBL) для указанного типа MemberInfo, если он предоставлен модели COM.

public:
 static int GetComSlotForMethodInfo(System::Reflection::MemberInfo ^ m);
public static int GetComSlotForMethodInfo (System.Reflection.MemberInfo m);
[System.Security.SecurityCritical]
public static int GetComSlotForMethodInfo (System.Reflection.MemberInfo m);
static member GetComSlotForMethodInfo : System.Reflection.MemberInfo -> int
[<System.Security.SecurityCritical>]
static member GetComSlotForMethodInfo : System.Reflection.MemberInfo -> int
Public Shared Function GetComSlotForMethodInfo (m As MemberInfo) As Integer

Параметры

m
MemberInfo

Объект, представляющий метод интерфейса.

Возвращаемое значение

Int32

Идентификатор m ячейки таблицы виртуальных функций (VTBL), если он предоставлен модели COM.

Атрибуты

Исключения

Параметр m имеет значение null.

Параметр m не является объектом MemberInfo.

-или-

Параметр m не является методом интерфейса.

Комментарии

Номер слота (от нуля), возвращенные этим методом, учитывает три метода IUnknown и, возможно, четыре метода IDispatch, что делает значение первого доступного слота равным 3 или 7. GetComSlotForMethodInfo предоставляет противоположные функции Marshal.GetMethodInfoForComSlot.

Этот метод можно использовать для получения номеров слотов для членов интерфейсов, которые не отображаются из COM и для членов закрытых интерфейсов. Возвращенные номера слотов соответствуют номерам виртуальных таблиц, которые будут зарезервированы, если тип был предоставлен com. Члены COM-невидимые фактически занимают слот в открытой виртуальной таблице, даже если com-клиент не может использовать слот. Нельзя использовать GetComSlotForMethodInfo в интерфейсе класса путем передачи MemberInfo из класса. Дополнительные сведения см. в разделе "Знакомство с интерфейсом класса".

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

См. также раздел