protected abstract Task <T> InvokeMethodAsync <T>(string key, ItemMethod methodInfo, object[] args, Type[] types);
protected abstract void InvokeMethod(string key, ItemMethod methodInfo, object[] args, Type[] types);
protected override async Task <T> InvokeMethodAsync <T>(string key, ItemMethod item, object[] args, Type[] types) { var res = await RunMethodAsync <T>(key, CurrentObject, args, types).ConfigureAwait(false); return(res); }
protected override async Task InvokeMethodAsync(string key, ItemMethod item, object[] args, Type[] types) { await RunMethodAsync(key, CurrentObject, args, types).ConfigureAwait(false); }
protected override T InvokeMethod <T>(string key, ItemMethod item, object[] args, Type[] types) { var obj = RunMethod <T>(key, CurrentObject, args, types); return(obj); }
protected override void InvokeMethod(string key, ItemMethod item, object[] args, Type[] types) { RunMethod(key, CurrentObject, args, types); }