Table of Contents

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

继承的 CommandBuilder<TInfo, TBuilder, TParamBuilder> 类型。

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

IReadOnlyList<Attribute>

Callback

获取此命令的执行委托。

public ExecuteCallback? Callback { get; }

Property Value

ExecuteCallback

Instance

获取生成器实例。

protected abstract TBuilder Instance { get; }

Property Value

TBuilder

MethodName

获取或设置此命令的方法名。

public string? MethodName { get; set; }

Property Value

string

Module

获取此命令的父模块。

public ModuleBuilder Module { get; }

Property Value

ModuleBuilder

Name

获取此命令的名称。

public string? Name { get; }

Property Value

string

Parameters

获取此命令的参数生成器列表。

public IReadOnlyList<TParamBuilder> Parameters { get; }

Property Value

IReadOnlyList<TParamBuilder>

Preconditions

获取此命令的先决条件集合。

public IReadOnlyList<PreconditionAttribute> Preconditions { get; }

Property Value

IReadOnlyList<PreconditionAttribute>

RunMode

获取或设置此命令的运行模式。

public RunMode RunMode { get; set; }

Property Value

RunMode

TreatNameAsRegex

获取或设置 Name 是否应直接作为正则表达式模式使用。

public bool TreatNameAsRegex { get; set; }

Property Value

bool

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

runMode RunMode

RunMode 的新值。

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 string

MethodName 的新值。

Returns

TBuilder

生成器实例。

WithName(string)

设置 Name

public TBuilder WithName(string name)

Parameters

name string

Name 的新值。

Returns

TBuilder

生成器实例。

WithNameAsRegex(bool)

设置 TreatNameAsRegex

public TBuilder WithNameAsRegex(bool value)

Parameters

value bool

TreatNameAsRegex 的新值。

Returns

TBuilder

生成器实例。

WithPreconditions(params PreconditionAttribute[])

Preconditions 添加先决条件。

public TBuilder WithPreconditions(params PreconditionAttribute[] preconditions)

Parameters

preconditions PreconditionAttribute[]

要添加到 Preconditions 的新先决条件。

Returns

TBuilder

生成器实例。