Class CommandBuilder<TInfo, TBuilder, TParamBuilder>
- Namespace
- HeyBox.Interactions.Builders
- Assembly
- HeyBox.Net.Interactions.dll
表示用于创建 CommandInfo<TParameter> 的基础生成器类。
public abstract class CommandBuilder<TInfo, TBuilder, TParamBuilder> : ICommandBuilder where TInfo : class, ICommandInfo where TBuilder : CommandBuilder<TInfo, TBuilder, TParamBuilder> where TParamBuilder : class, IParameterBuilder
Type Parameters
TInfo
构建后生成的 CommandInfo<TParameter> 类型。
TBuilder
TParamBuilder
此命令参数的生成器类型。
- Inheritance
-
CommandBuilder<TInfo, TBuilder, TParamBuilder>
- Implements
- Derived
- Inherited Members
Constructors
CommandBuilder(ModuleBuilder, string, ExecuteCallback)
使用提供的 ModuleBuilder 初始化一个新的 CommandBuilder<TInfo, TBuilder, TParamBuilder>。
protected CommandBuilder(ModuleBuilder module, string name, ExecuteCallback callback)
Parameters
module
ModuleBuilder此命令所属的 ModuleBuilder。
name
string命令名称。
callback
ExecuteCallback命令被触发时执行的回调。
Properties
Attributes
获取此命令的特性集合。
public IReadOnlyList<Attribute> Attributes { get; }
Property Value
Callback
获取此命令的执行委托。
public ExecuteCallback? Callback { get; }
Property Value
Instance
获取生成器实例。
protected abstract TBuilder Instance { get; }
Property Value
- TBuilder
MethodName
获取或设置此命令的方法名。
public string? MethodName { get; set; }
Property Value
Module
获取此命令的父模块。
public ModuleBuilder Module { get; }
Property Value
Name
获取此命令的名称。
public string? Name { get; }
Property Value
Parameters
获取此命令的参数生成器列表。
public IReadOnlyList<TParamBuilder> Parameters { get; }
Property Value
- IReadOnlyList<TParamBuilder>
Preconditions
获取此命令的先决条件集合。
public IReadOnlyList<PreconditionAttribute> Preconditions { get; }
Property Value
RunMode
获取或设置此命令的运行模式。
public RunMode RunMode { get; set; }
Property Value
TreatNameAsRegex
获取或设置 Name 是否应直接作为正则表达式模式使用。
public bool TreatNameAsRegex { get; set; }
Property Value
Methods
AddParameter(Action<TParamBuilder>)
向命令添加参数。
public abstract TBuilder AddParameter(Action<TParamBuilder> configure)
Parameters
configure
Action<TParamBuilder>配置参数的委托。
Returns
- TBuilder
生成器实例。
AddParameters(params TParamBuilder[])
向 Parameters 添加参数生成器。
public TBuilder AddParameters(params TParamBuilder[] parameters)
Parameters
parameters
TParamBuilder[]要添加到 Parameters 的新参数生成器。
Returns
- TBuilder
生成器实例。
SetRunMode(RunMode)
设置 RunMode。
public TBuilder SetRunMode(RunMode runMode)
Parameters
Returns
- TBuilder
生成器实例。
WithAttributes(params Attribute[])
向 Attributes 添加特性。
public TBuilder WithAttributes(params Attribute[] attributes)
Parameters
attributes
Attribute[]要添加到 Attributes 的新特性。
Returns
- TBuilder
生成器实例。
WithMethodName(string)
设置 MethodName。
public TBuilder WithMethodName(string name)
Parameters
name
stringMethodName 的新值。
Returns
- TBuilder
生成器实例。
WithName(string)
设置 Name。
public TBuilder WithName(string name)
Parameters
Returns
- TBuilder
生成器实例。
WithNameAsRegex(bool)
设置 TreatNameAsRegex。
public TBuilder WithNameAsRegex(bool value)
Parameters
value
boolTreatNameAsRegex 的新值。
Returns
- TBuilder
生成器实例。
WithPreconditions(params PreconditionAttribute[])
向 Preconditions 添加先决条件。
public TBuilder WithPreconditions(params PreconditionAttribute[] preconditions)
Parameters
preconditions
PreconditionAttribute[]要添加到 Preconditions 的新先决条件。
Returns
- TBuilder
生成器实例。