Table of Contents

Class PreconditionAttribute

Namespace
Kook.Commands
Assembly
Kook.Net.Commands.dll

表示一个模块或类中的命令在执行前需要符合的先决条件的基类。

[AttributeUsage(AttributeTargets.Class|AttributeTargets.Method, AllowMultiple = true)]
public abstract class PreconditionAttribute : Attribute
Inheritance
PreconditionAttribute
Derived
Inherited Members

Properties

ErrorMessage

获取或设置错误消息。

public virtual string? ErrorMessage { get; set; }

Property Value

string

Remarks

当在派生类中重写此虚属性时,用户代码设置在此属性的值将用于在报告错误时携带的错误,在未重写此属性的派生类中设置此属性为空操作。

Group

获取或设置此先决条件所属的分组。

public string? Group { get; set; }

Property Value

string

Remarks

此属性所设置的先决条件分组用于先决条件的析取。 同属于相同分组的所有先决条件中,存在一个满足条件的先决条件,则该组先决条件满足条件,组内的其它先决条件将被忽略(A || B)。 不设置此属性,或设置为 null,则表示该先决条件不属于任何分组,与其它的无分组先决条件或先决条件组的结果合取(A && B)。

Methods

CheckPermissionsAsync(ICommandContext, CommandInfo, IServiceProvider)

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

public abstract Task<PreconditionResult> CheckPermissionsAsync(ICommandContext context, CommandInfo command, IServiceProvider services)

Parameters

context ICommandContext

命令执行上下文。

command CommandInfo

要执行的命令。

services IServiceProvider

依赖注入服务容器。

Returns

Task<PreconditionResult>

一个表示异步检查操作的任务。任务的结果包含先决条件的结果。

See Also