Exemple #1
0
        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);
        }
Exemple #2
0
 internal EventMember(IStructType parent, IGeneralSignatureMemberUniqueIdentifier uniqueIdentifier, ICliMetadataEventTableRow metadataEntry)
     : base(parent, metadataEntry, uniqueIdentifier)
 {
 }
Exemple #3
0
 internal Parameters(_ICliManager manager, ICliMetadataEventTableRow metadataEntry, CliEventSignatureMember <TEvent, TEventParent> parent)
     : base(manager, metadataEntry, parent)
 {
 }
Exemple #4
0
 protected ParameterDictionary(_ICliManager manager, ICliMetadataEventTableRow metadataEntry, CliEventSignatureMember <TEvent, TEventParameter, TEventParent> parent)
     : base(manager, CliMemberExtensions.GetEventDelegateMethod(metadataEntry, manager), CliMemberExtensions.GetEventDelegateMetadataRoot(metadataEntry, manager), (TEvent)(object)parent)
 {
 }
Exemple #5
0
 internal static ICliMetadataRoot GetEventDelegateMetadataRoot(ICliMetadataEventTableRow metadataEntry, _ICliManager manager)
 {
     return(manager.ResolveScope(metadataEntry.SignatureType).MetadataRoot);
 }
Exemple #6
0
 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()));
 }
Exemple #7
0
 internal Event(IInterfaceType parent, ICliMetadataEventTableRow metadataEntry, IGeneralSignatureMemberUniqueIdentifier uniqueIdentifier)
     : base(parent, metadataEntry, uniqueIdentifier)
 {
 }
Exemple #8
0
 protected CliEventMember(TEventParent parent, ICliMetadataEventTableRow metadataEntry, IGeneralSignatureMemberUniqueIdentifier uniqueIdentifier)
     : base(parent, metadataEntry, uniqueIdentifier)
 {
 }
Exemple #9
0
 protected override IClassEventMember GetEvent(ICliMetadataEventTableRow metadataEntry, IGeneralSignatureMemberUniqueIdentifier uniqueIdentifier)
 {
     return(new EventMember(this, uniqueIdentifier, metadataEntry));
 }
Exemple #10
0
 protected abstract TEvent GetEvent(ICliMetadataEventTableRow metadataEntry, IGeneralSignatureMemberUniqueIdentifier uniqueIdentifier);