Table of Contents

Class NamedArgumentTypeAttribute

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

指示命令系统将此类型的命令参数视为与其属性匹配的命名参数集合。

[AttributeUsage(AttributeTargets.Class)]
public sealed class NamedArgumentTypeAttribute : Attribute
Inheritance
NamedArgumentTypeAttribute
Inherited Members

Examples

以下示例代码中,ArgumentType 中的各个属性将被视为所支持的命名参数。

[NamedArgumentType]
public sealed class ArgumentType
{
    public int? Foo { get; set; }
    public string? Bar { get; set; }
    public IEnumerable<int>? ManyInts { get; set; }
}

命令的参数中可以定义 ArgumentType 类型的参数。

[Command("test")]
public Task TestCommand(ArgumentType arg) => Task.CompletedTask;

则可以以以下的命名参数的形式传递参数,调用命令:

foo: 3 bar: hello manyints: "1, 2, 3, 4, 5, 6, 7"