Table of Contents

Class OverrideTypeReaderAttribute

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

标记指定的参数应有应由指定的 TypeReader 读取并解析。

[AttributeUsage(AttributeTargets.Property|AttributeTargets.Parameter)]
public sealed class OverrideTypeReaderAttribute : Attribute
Inheritance
OverrideTypeReaderAttribute
Inherited Members

Examples

在以下的示例中,TimeSpan 类型的 time 参数将由自定义的类型解析器 FriendlyTimeSpanTypeReader 解析,而不是由内置的 TimeSpanTypeReader 解析。

[Command("time")]
public Task GetTimeAsync([OverrideTypeReader(typeof(FriendlyTimeSpanTypeReader))] TimeSpan time)
    => ReplyTextAsync(time);

Remarks

此特性允许在解析命令参数时为指定的参数指定特定的 TypeReader,可用于在不影响其他命令的情况下使用特定的命令解析器。

warning

标记此特性的类型解析器类型必须继承自 TypeReader,否则将引发 InvalidOperationException 异常。

Constructors

OverrideTypeReaderAttribute(Type)

初始化一个 OverrideTypeReaderAttribute 类的新实例。

public OverrideTypeReaderAttribute(Type overridenTypeReader)

Parameters

overridenTypeReader Type

解析此参数所使用的类型解析器的类型。

Exceptions

InvalidOperationException

所提供的类型解析器类型不是 TypeReader 的派生类。

Properties

TypeReader

获取解析此参数所使用的类型解析器的类型。

public Type TypeReader { get; }

Property Value

Type