public BasicMethodInvoker GetBasicMethodInvoker() { if (basic_method_invoker == null) { basic_method_invoker = GetNativeMethodInfo().CreateDynamicEffectiveMethodInvokerDelegate <BasicMethodInvoker>(); } return(basic_method_invoker); }
public Function_MethodInfo(MethodInfoEX m) : base( m.IfNotNull(z => z.DeclaringType), m.IfNotNull(z => z.ReturnType), m.IfNotNull(z => z.GetEffectiveParameters().Convert(p => KeyValuePair.New(p.Name, p.ParameterType))) ) { name = m.IfNotNull(z => z.Name); invoker = m.IfNotNull(z => z.GetBasicMethodInvoker()); method = m; }
static public ValueSetter <T> GetSimulatedValueSetter <T>(this BasicMethodInvoker item) { return(delegate(object obj, T value) { item(obj, new object[] { value }); }); }
static public BasicValueGetter GetSimulatedBasicValueGetter(this BasicMethodInvoker item) { return(delegate(object obj) { return item(obj, new object[] {}); }); }
static public BasicConversionInvoker GetBasicConversionInvoker(this BasicMethodInvoker item) { return(delegate(object obj) { return item(null, new object[] { obj }); }); }
static public MethodInvoker <T> GetTypeSafe <T>(this BasicMethodInvoker item) { return(delegate(object obj, object[] parameters) { return (T)item(obj, parameters); }); }