internal IndexerImage(PropertyInfo member) : base(member) { Debug.Assert(CanCreateFrom(member)); var parameters = Property.GetIndexParameters(); GetInvokers = new InvokerDispatch <InstanceIndexerGetInvoker>(parameters, (argumentCount) => CodeGenerator.InstanceIndexGetter(Property, argumentCount)); SetInvokers = new InvokerDispatch <InstanceIndexerSetInvoker>(parameters, (argumentCount) => CodeGenerator.InstanceIndexSetter(Property, argumentCount)); }
internal CallableImage(MethodBase member, [AllowNull] Func <int, InstanceMethodInvoker> instanceInvokerFactory, [AllowNull] Func <int, StaticMethodInvoker> staticInvokerFactory) : base(member) { Debug.Assert(CanCreateFrom(member)); var parameters = Base.GetParameters(); if (RequiresInstance) { InstanceInvokers = new InvokerDispatch <InstanceMethodInvoker>(parameters, instanceInvokerFactory); } else { StaticInvokers = new InvokerDispatch <StaticMethodInvoker>(parameters, staticInvokerFactory); } }