Class OverrideTypeReaderAttribute
标记指定的参数应有应由指定的 TypeReader 读取并解析。
[AttributeUsage(AttributeTargets.Property|AttributeTargets.Parameter)]
public sealed class OverrideTypeReaderAttribute : Attribute
- Inheritance
-
OverrideTypeReaderAttribute
- Inherited Members
Examples
在以下的示例中,TimeSpan 类型的 time
参数将由自定义的类型解析器 FriendlyTimeSpanTypeReader
解析,而不是由内置的 Kook.Commands.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; }