internal static uint GetEventDelegateMethod(ICliMetadataEventTableRow metadataEntry, _ICliManager manager) { var signatureType = manager.ObtainTypeReference(metadataEntry.SignatureType); if (!(signatureType is IDelegateType)) { throw new BadImageFormatException("Event must reference a delegate type to properly function."); } var delegateType = (ICliDelegateType)signatureType; return(delegateType.InvokeMethodIndex); }
internal EventMember(IStructType parent, IGeneralSignatureMemberUniqueIdentifier uniqueIdentifier, ICliMetadataEventTableRow metadataEntry) : base(parent, metadataEntry, uniqueIdentifier) { }
internal Parameters(_ICliManager manager, ICliMetadataEventTableRow metadataEntry, CliEventSignatureMember <TEvent, TEventParent> parent) : base(manager, metadataEntry, parent) { }
protected ParameterDictionary(_ICliManager manager, ICliMetadataEventTableRow metadataEntry, CliEventSignatureMember <TEvent, TEventParameter, TEventParent> parent) : base(manager, CliMemberExtensions.GetEventDelegateMethod(metadataEntry, manager), CliMemberExtensions.GetEventDelegateMetadataRoot(metadataEntry, manager), (TEvent)(object)parent) { }
internal static ICliMetadataRoot GetEventDelegateMetadataRoot(ICliMetadataEventTableRow metadataEntry, _ICliManager manager) { return(manager.ResolveScope(metadataEntry.SignatureType).MetadataRoot); }
internal static ISignatureMemberUniqueIdentifier GetEventIdentifier(ICliMetadataEventTableRow eventDef, IType owner, _ICliManager manager) { return(TypeSystemIdentifiers.GetSignatureIdentifier(eventDef.Name, (from p in ((IDelegateType)manager.ObtainTypeReference(eventDef.SignatureType, owner, null, owner == null ? null : owner.Assembly)).Parameters.Values select p.ParameterType).SinglePass())); }
internal Event(IInterfaceType parent, ICliMetadataEventTableRow metadataEntry, IGeneralSignatureMemberUniqueIdentifier uniqueIdentifier) : base(parent, metadataEntry, uniqueIdentifier) { }
protected CliEventMember(TEventParent parent, ICliMetadataEventTableRow metadataEntry, IGeneralSignatureMemberUniqueIdentifier uniqueIdentifier) : base(parent, metadataEntry, uniqueIdentifier) { }
protected override IClassEventMember GetEvent(ICliMetadataEventTableRow metadataEntry, IGeneralSignatureMemberUniqueIdentifier uniqueIdentifier) { return(new EventMember(this, uniqueIdentifier, metadataEntry)); }
protected abstract TEvent GetEvent(ICliMetadataEventTableRow metadataEntry, IGeneralSignatureMemberUniqueIdentifier uniqueIdentifier);