コード例 #1
0
ファイル: TypeDef.cs プロジェクト: Perplexity/de4dot
        public EventDef create(EventDefinition newEvent)
        {
            if (findAny(newEvent) != null)
                throw new ApplicationException("Can't add an event when it's already been added");

            var eventDef = new EventDef(newEvent, this, events.Count);
            add(eventDef);
            TypeDefinition.Events.Add(newEvent);
            return eventDef;
        }
コード例 #2
0
ファイル: TypeInfo.cs プロジェクト: huliang/de4dot
        void prepareRenameEvent(EventDef eventDef)
        {
            if (eventDef.isVirtual())
                throw new ApplicationException("Can't rename virtual events here");
            var eventInfo = evt(eventDef);
            if (eventInfo.renamed)
                return;

            string eventName = eventInfo.oldName;
            if (!NameChecker.isValidEventName(eventName))
                eventName = eventInfo.suggestedName;
            if (!NameChecker.isValidEventName(eventName))
                eventName = variableNameState.getNewEventName(eventDef.EventDefinition);
            variableNameState.addEventName(eventName);
            eventInfo.rename(eventName);

            renameSpecialMethod(eventDef.AddMethod, "add_" + eventName);
            renameSpecialMethod(eventDef.RemoveMethod, "remove_" + eventName);
            renameSpecialMethod(eventDef.RaiseMethod, "raise_" + eventName);
        }
コード例 #3
0
ファイル: TypeDef.cs プロジェクト: Perplexity/de4dot
 public void add(EventDef e)
 {
     events.add(e);
 }
コード例 #4
0
ファイル: TypeInfo.cs プロジェクト: huliang/de4dot
 public EventInfo evt(EventDef evt)
 {
     return memberInfos.evt(evt);
 }
コード例 #5
0
ファイル: Renamer.cs プロジェクト: Joelone/de4dot
        void createEvent(EventDef eventDef, MethodDef methodDef, EventMethodType methodType, string overridePrefix)
        {
            if (!methodDef.Owner.HasModule)
                return;

            var newEventName = overridePrefix + eventDef.EventDefinition.Name;
            switch (methodType) {
            case EventMethodType.Adder:
                createEventAdder(newEventName, methodDef);
                break;
            case EventMethodType.Remover:
                createEventRemover(newEventName, methodDef);
                break;
            }
        }
コード例 #6
0
ファイル: TypeDef.cs プロジェクト: zhangf911/de4dot
 public MEventDef FindAny(EventDef er)
 {
     return(events.FindAny(er));
 }
コード例 #7
0
 public MEventDef(EventDef eventDef, MTypeDef owner, int index)
     : base(eventDef, owner, index)
 {
 }
コード例 #8
0
ファイル: TypeDef.cs プロジェクト: kidhudi/de4dot
 public void add(EventDef e)
 {
     events.add(e);
 }