C# Класс Microsoft.Scripting.ComInterop.ComEventSink

This class implements an event sink for a particular RCW. Unlike the implementation of events in TlbImp'd assemblies, we will create only one event sink per RCW (theoretically RCW might have several ComEventSink evenk sinks - but all these implement different source intefaces). Each ComEventSink contains a list of ComEventSinkMethod objects - which represent a single method on the source interface an a multicast delegate to redirect the calls. Notice that we are chaining multicast delegates so that same ComEventSinkMedhod can invoke multiple event handlers). ComEventSink implements an IDisposable pattern to Unadvise from the connection point. Typically, when RCW is finalized the corresponding Dispose will be triggered by ComEventSinksContainer finalizer. Notice that lifetime of ComEventSinksContainer is bound to the lifetime of the RCW.
Наследование: System.MarshalByRefObject, IReflect, IDisposable
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
AddHandler ( int dispid, object func ) : void
Dispose ( ) : void
ExecuteHandler ( string name, object args ) : object
FromRuntimeCallableWrapper ( object rcw, System.Guid sourceIid, bool createIfNotFound ) : ComEventSink
GetField ( string name, BindingFlags bindingAttr ) : FieldInfo
GetFields ( BindingFlags bindingAttr ) : System.Reflection.FieldInfo[]
GetMember ( string name, BindingFlags bindingAttr ) : MemberInfo[]
GetMembers ( BindingFlags bindingAttr ) : MemberInfo[]
GetMethod ( string name, BindingFlags bindingAttr ) : MethodInfo
GetMethod ( string name, BindingFlags bindingAttr, Binder binder, Type types, ParameterModifier modifiers ) : MethodInfo
GetMethods ( BindingFlags bindingAttr ) : System.Reflection.MethodInfo[]
GetProperties ( BindingFlags bindingAttr ) : System.Reflection.PropertyInfo[]
GetProperty ( string name, BindingFlags bindingAttr ) : PropertyInfo
GetProperty ( string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type types, ParameterModifier modifiers ) : PropertyInfo
InvokeMember ( string name, BindingFlags invokeAttr, Binder binder, object target, object args, ParameterModifier modifiers, CultureInfo culture, string namedParameters ) : object
RemoveHandler ( int dispid, object func ) : void

Приватные методы

Метод Описание
ComEventSink ( object rcw, System.Guid sourceIid ) : System
DisposeAll ( ) : void
FindSinkMethod ( string name ) : ComEventSinkMethod
Initialize ( object rcw, System.Guid sourceIid ) : void

Описание методов

AddHandler() публичный Метод

public AddHandler ( int dispid, object func ) : void
dispid int
func object
Результат void

Dispose() публичный Метод

public Dispose ( ) : void
Результат void

ExecuteHandler() публичный Метод

public ExecuteHandler ( string name, object args ) : object
name string
args object
Результат object

FromRuntimeCallableWrapper() публичный статический Метод

public static FromRuntimeCallableWrapper ( object rcw, System.Guid sourceIid, bool createIfNotFound ) : ComEventSink
rcw object
sourceIid System.Guid
createIfNotFound bool
Результат ComEventSink

GetField() публичный Метод

public GetField ( string name, BindingFlags bindingAttr ) : FieldInfo
name string
bindingAttr BindingFlags
Результат System.Reflection.FieldInfo

GetFields() публичный Метод

public GetFields ( BindingFlags bindingAttr ) : System.Reflection.FieldInfo[]
bindingAttr BindingFlags
Результат System.Reflection.FieldInfo[]

GetMember() публичный Метод

public GetMember ( string name, BindingFlags bindingAttr ) : MemberInfo[]
name string
bindingAttr BindingFlags
Результат MemberInfo[]

GetMembers() публичный Метод

public GetMembers ( BindingFlags bindingAttr ) : MemberInfo[]
bindingAttr BindingFlags
Результат MemberInfo[]

GetMethod() публичный Метод

public GetMethod ( string name, BindingFlags bindingAttr ) : MethodInfo
name string
bindingAttr BindingFlags
Результат System.Reflection.MethodInfo

GetMethod() публичный Метод

public GetMethod ( string name, BindingFlags bindingAttr, Binder binder, Type types, ParameterModifier modifiers ) : MethodInfo
name string
bindingAttr BindingFlags
binder System.Reflection.Binder
types System.Type
modifiers System.Reflection.ParameterModifier
Результат System.Reflection.MethodInfo

GetMethods() публичный Метод

public GetMethods ( BindingFlags bindingAttr ) : System.Reflection.MethodInfo[]
bindingAttr BindingFlags
Результат System.Reflection.MethodInfo[]

GetProperties() публичный Метод

public GetProperties ( BindingFlags bindingAttr ) : System.Reflection.PropertyInfo[]
bindingAttr BindingFlags
Результат System.Reflection.PropertyInfo[]

GetProperty() публичный Метод

public GetProperty ( string name, BindingFlags bindingAttr ) : PropertyInfo
name string
bindingAttr BindingFlags
Результат System.Reflection.PropertyInfo

GetProperty() публичный Метод

public GetProperty ( string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type types, ParameterModifier modifiers ) : PropertyInfo
name string
bindingAttr BindingFlags
binder System.Reflection.Binder
returnType System.Type
types System.Type
modifiers System.Reflection.ParameterModifier
Результат System.Reflection.PropertyInfo

InvokeMember() публичный Метод

public InvokeMember ( string name, BindingFlags invokeAttr, Binder binder, object target, object args, ParameterModifier modifiers, CultureInfo culture, string namedParameters ) : object
name string
invokeAttr BindingFlags
binder System.Reflection.Binder
target object
args object
modifiers System.Reflection.ParameterModifier
culture System.Globalization.CultureInfo
namedParameters string
Результат object

RemoveHandler() публичный Метод

public RemoveHandler ( int dispid, object func ) : void
dispid int
func object
Результат void