Mono.CSharp.MetadataImporter.CreateEvent C# (CSharp) Method

CreateEvent() public method

public CreateEvent ( EventInfo ei, System.TypeSpec declaringType, MethodSpec add, MethodSpec remove ) : EventSpec
ei EventInfo
declaringType System.TypeSpec
add MethodSpec
remove MethodSpec
return EventSpec
        public EventSpec CreateEvent(EventInfo ei, TypeSpec declaringType, MethodSpec add, MethodSpec remove)
        {
            add.IsAccessor = true;
            remove.IsAccessor = true;

            if (add.Modifiers != remove.Modifiers)
                throw new NotImplementedException ("Different accessor modifiers " + ei.Name);

            var event_type = ImportType (ei.EventHandlerType, new DynamicTypeReader (ei));
            var definition = new ImportedMemberDefinition (ei, event_type,  this);
            return new EventSpec (declaringType, definition, event_type, add.Modifiers, add, remove);
        }