Table of Contents

Class ParameterBuilder<TInfo, TBuilder>

Namespace
HeyBox.Interactions.Builders
Assembly
HeyBox.Net.Interactions.dll

表示用于创建 IParameterInfo 的基础生成器类。

public abstract class ParameterBuilder<TInfo, TBuilder> : IParameterBuilder where TInfo : class, IParameterInfo where TBuilder : ParameterBuilder<TInfo, TBuilder>

Type Parameters

TInfo

构建后生成的 IParameterInfo 类型。

TBuilder

继承的 ParameterBuilder<TInfo, TBuilder> 类型。

Inheritance
ParameterBuilder<TInfo, TBuilder>
Implements
Derived
Inherited Members

Constructors

ParameterBuilder(ICommandBuilder, string, Type)

初始化一个新的 ParameterBuilder<TInfo, TBuilder>

protected ParameterBuilder(ICommandBuilder command, string name, Type type)

Parameters

command ICommandBuilder

此参数所属的命令。

name string

参数名称。

type Type

参数类型。

Properties

Attributes

获取此命令的特性集合。

public IReadOnlyCollection<Attribute> Attributes { get; }

Property Value

IReadOnlyCollection<Attribute>

Command

获取此参数所属的父命令。

public ICommandBuilder Command { get; }

Property Value

ICommandBuilder

DefaultValue

获取此参数的默认值。

public object? DefaultValue { get; set; }

Property Value

object

Instance

获取生成器实例。

protected abstract TBuilder Instance { get; }

Property Value

TBuilder

IsParameterArray

获取此参数是否为 params

public bool IsParameterArray { get; set; }

Property Value

bool

IsRequired

获取此参数是否为必填项。

public bool IsRequired { get; set; }

Property Value

bool

Name

获取此参数的名称。

public string? Name { get; }

Property Value

string

ParameterType

获取此参数的类型。

public Type? ParameterType { get; }

Property Value

Type

Preconditions

获取此命令的先决条件集合。

public IReadOnlyCollection<ParameterPreconditionAttribute> Preconditions { get; }

Property Value

IReadOnlyCollection<ParameterPreconditionAttribute>

Methods

AddAttributes(params Attribute[])

Attributes 添加特性。

public virtual TBuilder AddAttributes(params Attribute[] attributes)

Parameters

attributes Attribute[]

要添加到 Attributes 的新特性。

Returns

TBuilder

生成器实例。

AddPreconditions(params ParameterPreconditionAttribute[])

Preconditions 添加先决条件。

public virtual TBuilder AddPreconditions(params ParameterPreconditionAttribute[] attributes)

Parameters

attributes ParameterPreconditionAttribute[]

要添加到 Preconditions 的新先决条件。

Returns

TBuilder

生成器实例。

SetDefaultValue(object)

设置 DefaultValue

public virtual TBuilder SetDefaultValue(object defaultValue)

Parameters

defaultValue object

DefaultValue 的新值。

Returns

TBuilder

生成器实例。

SetParameterType(Type)

设置 ParameterType

public virtual TBuilder SetParameterType(Type type)

Parameters

type Type

ParameterType 的新值。

Returns

TBuilder

生成器实例。

SetRequired(bool)

设置 IsRequired

public virtual TBuilder SetRequired(bool isRequired)

Parameters

isRequired bool

IsRequired 的新值。

Returns

TBuilder

生成器实例。

WithName(string)

设置 Name

public virtual TBuilder WithName(string name)

Parameters

name string

Name 的新值。

Returns

TBuilder

生成器实例。