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
- 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
Command
获取此参数所属的父命令。
public ICommandBuilder Command { get; }
Property Value
DefaultValue
获取此参数的默认值。
public object? DefaultValue { get; set; }
Property Value
Instance
获取生成器实例。
protected abstract TBuilder Instance { get; }
Property Value
- TBuilder
IsParameterArray
获取此参数是否为 params。
public bool IsParameterArray { get; set; }
Property Value
IsRequired
获取此参数是否为必填项。
public bool IsRequired { get; set; }
Property Value
Name
获取此参数的名称。
public string? Name { get; }
Property Value
ParameterType
获取此参数的类型。
public Type? ParameterType { get; }
Property Value
Preconditions
获取此命令的先决条件集合。
public IReadOnlyCollection<ParameterPreconditionAttribute> Preconditions { get; }
Property Value
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
objectDefaultValue 的新值。
Returns
- TBuilder
生成器实例。
SetParameterType(Type)
设置 ParameterType。
public virtual TBuilder SetParameterType(Type type)
Parameters
type
TypeParameterType 的新值。
Returns
- TBuilder
生成器实例。
SetRequired(bool)
设置 IsRequired。
public virtual TBuilder SetRequired(bool isRequired)
Parameters
isRequired
boolIsRequired 的新值。
Returns
- TBuilder
生成器实例。
WithName(string)
设置 Name。
public virtual TBuilder WithName(string name)
Parameters
Returns
- TBuilder
生成器实例。