public IInvokable RegisterInvokable(InvokableInfo info, MethodInfo methodInfo, object instance = null) { IInvokable invokable = InvokableFactory.MakeInvokable(info, methodInfo, instance); RegisterInvokable(invokable); return(invokable); }
public IInvokable RegisterInvokable(InvokableInfo info, EventInfo eventInfo, object instance = null) { IInvokable invokable = InvokableFactory.MakeInvokable(info, eventInfo, instance); RegisterInvokable(invokable); return(invokable); }
public IInvokable RegisterInvokable(InvokableInfo info, Delegate del) { IInvokable invokable = InvokableFactory.MakeInvokable(info, del); RegisterInvokable(invokable); return(invokable); }
public void ProcessAttribute(InvokableAttribute input, MemberInfo memberInfo, IBoundInstance instance = null) { IInvokable invokable = null; if (memberInfo.MemberType == MemberTypes.Method) { MethodInfo methodInfo = (MethodInfo)memberInfo; invokable = InvokableFactory.MakeInvokable(input, methodInfo, instance); } else { if (memberInfo.MemberType != MemberTypes.Event) { throw new ProcessorException("InvokableProcessor cannot process non MethodInfo or EventInfo types"); } EventInfo eventInfo = (EventInfo)memberInfo; invokable = InvokableFactory.MakeInvokable(input, eventInfo, instance); } if (invokable != null) { ProvideResult(invokable); } }