Example #1
0
        internal Delegate MakeDelegate(Type delegateType)
        {
#if !NO_FEATURE_STATIC_DELEGATE
            var method = delegateType.GetInvokeMethod();
            return(method.ReturnType == typeof(void) ? DelegateHelpers.CreateObjectArrayDelegate(delegateType, RunVoid) : DelegateHelpers.CreateObjectArrayDelegate(delegateType, Run));
#else
            Func <LightLambda, Delegate> fastCtor = GetRunDelegateCtor(delegateType);
            if (fastCtor != null)
            {
                return(fastCtor(this));
            }
            else
            {
                return(CreateCustomDelegate(delegateType));
            }
#endif
        }
Example #2
0
        internal Delegate MakeDelegate(Type delegateType)
        {
            var method = delegateType.GetInvokeMethod();

            return(method.ReturnType == typeof(void) ? DelegateHelpers.CreateObjectArrayDelegate(delegateType, RunVoid) : DelegateHelpers.CreateObjectArrayDelegate(delegateType, Run));
        }