Class ActionDispatcher<T>
Namespace: Tool.Utils.ActionDelegate
Assembly: Tool.Net.dll
根据 MethodInfo 对象,创建一个委托,实现方法调用,提高性能,支持各种返回值(object)
public class ActionDispatcher<T> : ActionDispatcher<T, object>, IActionDispatcher<T>, IActionDispatcherType Parameters
T
Inheritance
object ← ActionDispatcher<T, object> ← ActionDispatcher<T>
Implements
IActionDispatcher<T>, IActionDispatcher
Inherited Members
ActionDispatcher<T, object>.IsVoid, ActionDispatcher<T, object>.IsTask, ActionDispatcher<T, object>.ReturnType, ActionDispatcher<T, object>.Method, ActionDispatcher<T, object>.Parameters, ActionDispatcher<T, object>.Name, ActionDispatcher<T, object>.IsStatic, ActionDispatcher<T, object>.MethodEnum, ActionDispatcher<T, object>.Invoke(T, params object[]), ActionDispatcher<T, object>.InvokeAsync(T, params object[]), ActionDispatcher<T, object>.Execute(T, params object[]), ActionDispatcher<T, object>.VoidExecute(T, params object[]), ActionDispatcher<T, object>.ExecuteAsync(T, object[]), ActionDispatcher<T, object>.VoidExecuteAsync(T, object[]), ActionDispatcher<T, object>.ToString(), object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()
Extension Methods
ObjectExtension.Add<T>(object, object, object), DispatcherCore.AsAction<T, TResult>(IActionDispatcher), DispatcherCore.AsAction<T, TResult>(IActionDispatcher<T>), ObjectExtension.CopyEntity(object, object, params string[]), ObjectExtension.EntityToJson(object), ObjectExtension.EntityToJson(object, bool), ObjectExtension.EntityToJson(object, bool, string), DictionaryExtension.GetDictionary(object), TypeExtension.GetFieldKey(object, string, out bool), TypeExtension.GetFieldKey<T>(object, string, out bool), TypeExtension.GetFieldKey(object, Type, string, out bool), ObjectExtension.GetIntPtr(object), ObjectExtension.GetIntPtrInt(object), TypeExtension.GetPropertieFind(object, string, bool), TypeExtension.GetProperties(object), TypeExtension.GetPropertyKey(object, string, out bool), TypeExtension.GetPropertyKey<T>(object, string, out bool), TypeExtension.GetPropertyKey(object, Type, string, out bool), TypeExtension.GetValue(object, PropertyDescriptor), TypeExtension.GetValue(object, string, bool), TypeExtension.GetValue(object, string), ObjectExtension.Read<T>(object, object, int, int), ObjectExtension.Read<T>(object, int, object, int, int), DictionaryExtension.SetDictionary(object, IDictionary<string, object>), TypeExtension.SetFieldKey(object, string, object), TypeExtension.SetFieldKey<T>(object, string, object), TypeExtension.SetFieldKey(object, Type, string, object), TypeExtension.SetPropertyKey(object, string, object), TypeExtension.SetPropertyKey<T>(object, string, object), TypeExtension.SetPropertyKey(object, Type, string, object), TypeExtension.SetValue(object, PropertyDescriptor, object), TypeExtension.SetValue(object, string, object, bool), TypeExtension.SetValue(object, string, object), ObjectExtension.ToBase64String(object), ObjectExtension.ToBytes(object), ObjectExtension.ToBytes(object, out Type), DictionaryExtension.ToDictionary(object), DictionaryExtension.ToDictionary<T>(object), DictionaryExtension.ToIDictionary(object), DictionaryExtension.ToIDictionary<T>(object), ObjectExtension.ToJson(object), ObjectExtension.ToJson(object, JsonSerializerOptions), ObjectExtension.ToJsonWeb(object), ObjectExtension.ToJsonWeb(object, Action<JsonSerializerOptions>), ObjectExtension.ToTryVar<T>(object, T), ObjectExtension.ToVar<T>(object), ObjectExtension.ToVar(object, Type, bool), ObjectExtension.ToVar(object, string), ObjectExtension.ToXml(object)
Remarks
代码由逆血提供支持
Constructors
ActionDispatcher(MethodInfo)
初始化对象
public ActionDispatcher(MethodInfo methodInfo)Parameters
methodInfo MethodInfo
方法对象
ActionDispatcher(MethodInfo, Type)
初始化对象
public ActionDispatcher(MethodInfo methodInfo, Type classtype)Parameters
methodInfo MethodInfo
方法对象
classtype Type
调用类类型(明确调用类)
Methods
Invoke<E>(T, params object[])
可不区分是否有返回值的调用方法,返回泛型值
public E Invoke<E>(T CallClass, params object[] parameters)Parameters
CallClass T
调用方法的类
parameters object[]
参数
Returns
E
返回方法的返回值
Type Parameters
E
InvokeAsync<E>(T, params object[])
可不区分是否有返回值的调用方法,返回泛型值
public Task<E> InvokeAsync<E>(T CallClass, params object[] parameters)Parameters
CallClass T
调用方法的类
parameters object[]
参数
Returns
Task<E>
返回方法的返回值
Type Parameters
E