Table of Contents

Interface ICommandInfo

Namespace
HeyBox.Interactions
Assembly
HeyBox.Net.Interactions.dll

表示可被执行的命令信息对象。

public interface ICommandInfo

Properties

Attributes

获取此命令的特性集合。

IReadOnlyCollection<Attribute> Attributes { get; }

Property Value

IReadOnlyCollection<Attribute>

CommandService

获取底层命令服务。

InteractionService CommandService { get; }

Property Value

InteractionService

MethodName

获取命令处理方法的名称。

string MethodName { get; }

Property Value

string

Module

获取该方法所属的模块。

ModuleInfo Module { get; }

Property Value

ModuleInfo

Name

获取命令的名称。

string Name { get; }

Property Value

string

Parameters

获取此命令的参数集合。

IReadOnlyCollection<IParameterInfo> Parameters { get; }

Property Value

IReadOnlyCollection<IParameterInfo>

Preconditions

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

IReadOnlyCollection<PreconditionAttribute> Preconditions { get; }

Property Value

IReadOnlyCollection<PreconditionAttribute>

RunMode

获取此命令的运行模式。

RunMode RunMode { get; }

Property Value

RunMode

TreatNameAsRegex

获取命令名称是否应被视为正则表达式。

bool TreatNameAsRegex { get; }

Property Value

bool

Methods

CheckPreconditionsAsync(IInteractionContext, IServiceProvider)

检查执行上下文是否满足命令的先决条件要求。

Task<PreconditionResult> CheckPreconditionsAsync(IInteractionContext context, IServiceProvider services)

Parameters

context IInteractionContext
services IServiceProvider

Returns

Task<PreconditionResult>

ExecuteAsync(IInteractionContext, IServiceProvider)

使用提供的上下文执行命令。

Task<IResult> ExecuteAsync(IInteractionContext context, IServiceProvider services)

Parameters

context IInteractionContext

执行上下文。

services IServiceProvider

用于创建模块实例的依赖项。

Returns

Task<IResult>

表示执行过程的任务。任务结果包含执行结果。