Skip to content

Class ActionDispatcher<T>

Namespace: Tool.Utils.ActionDelegate
Assembly: Tool.Net.dll

根据 MethodInfo 对象,创建一个委托,实现方法调用,提高性能,支持各种返回值(object)

csharp
public class ActionDispatcher<T> : ActionDispatcher<T, object>, IActionDispatcher<T>, IActionDispatcher

Type Parameters

T

Inheritance

objectActionDispatcher<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)

初始化对象

csharp
public ActionDispatcher(MethodInfo methodInfo)

Parameters

methodInfo MethodInfo

方法对象

ActionDispatcher(MethodInfo, Type)

初始化对象

csharp
public ActionDispatcher(MethodInfo methodInfo, Type classtype)

Parameters

methodInfo MethodInfo

方法对象

classtype Type

调用类类型(明确调用类)

Methods

Invoke<E>(T, params object[])

可不区分是否有返回值的调用方法,返回泛型值

csharp
public E Invoke<E>(T CallClass, params object[] parameters)

Parameters

CallClass T

调用方法的类

parameters object[]

参数

Returns

E

返回方法的返回值

Type Parameters

E

InvokeAsync<E>(T, params object[])

可不区分是否有返回值的调用方法,返回泛型值

csharp
public Task<E> InvokeAsync<E>(T CallClass, params object[] parameters)

Parameters

CallClass T

调用方法的类

parameters object[]

参数

Returns

Task<E>

返回方法的返回值

Type Parameters

E

基于Apache-2.0协议开源