Class NamedArgumentTypeAttribute
指示命令系统将此类型的命令参数视为与其属性匹配的命名参数集合。
[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"