Class Processor<TResult>
- Namespace
- CMS.Plugin.BarcodeManagement.Abstractions.Processors
- Assembly
- CMS.Plugin.BarcodeManagement.Abstractions.dll
抽象类,定义一个通用的处理器,支持链式调用和异步处理。
public abstract class Processor<TResult>
Type Parameters
TResult
处理结果的类型。
- Inheritance
-
Processor<TResult>
- Derived
- Inherited Members
Fields
_nextProcessor
下一个处理器,用于链式调用。
protected Processor<TResult>? _nextProcessor
Field Value
- Processor<TResult>
_processingDatas
存储处理过程中使用的数据的字典。
protected Dictionary<string, dynamic> _processingDatas
Field Value
Properties
ProcessorKey
唯一标识。
public string ProcessorKey { get; set; }
Property Value
Methods
AbortAsync(TResult)
抽象方法,判断是否需要中止处理。
protected abstract Task<bool> AbortAsync(TResult result)
Parameters
result
TResult当前处理结果。
Returns
ExecuteProcessAsync()
抽象方法,执行当前处理器的核心逻辑。
protected abstract Task<TResult> ExecuteProcessAsync()
Returns
- Task<TResult>
返回处理结果。
GetAsync<TValue>(string)
异步获取处理数据字典中的值。
protected Task<TValue> GetAsync<TValue>(string key)
Parameters
key
string键。
Returns
- Task<TValue>
返回值,如果键不存在则返回默认值。
Type Parameters
TValue
值的类型。
IterateProcessAsync()
异步迭代处理方法,依次调用当前处理器和链中的下一个处理器。
public virtual Task<TResult> IterateProcessAsync()
Returns
- Task<TResult>
返回处理结果。
SetAsync<TValue>(string, TValue)
异步设置处理数据字典中的键值对。
protected Task SetAsync<TValue>(string key, TValue value)
Parameters
key
string键。
value
TValue值。
Returns
- Task
一个已完成的任务。
Type Parameters
TValue
值的类型。
SetNext(Processor<TResult>?)
设置下一个处理器,并共享处理数据字典。
public void SetNext(Processor<TResult>? nextProcessor)
Parameters
nextProcessor
Processor<TResult>下一个处理器实例。