Class SectionModuleBuilder
- Namespace
- HeyBox
- Assembly
- HeyBox.Net.Core.dll
用来构建 SectionModule 模块的构建器。
public class SectionModuleBuilder : IModuleBuilder, IEquatable<SectionModuleBuilder>, IEquatable<IModuleBuilder>
- Inheritance
-
SectionModuleBuilder
- Implements
- Inherited Members
Constructors
SectionModuleBuilder()
初始化一个 SectionModuleBuilder 类的新实例。
public SectionModuleBuilder()
SectionModuleBuilder(ITextNodeBuilder)
初始化一个 SectionModuleBuilder 类的新实例。
public SectionModuleBuilder(ITextNodeBuilder firstText)
Parameters
firstText
ITextNodeBuilder位于段落左侧的文本节点构建器。
SectionModuleBuilder(ITextNodeBuilder, ButtonNodeBuilder)
初始化一个 SectionModuleBuilder 类的新实例。
public SectionModuleBuilder(ITextNodeBuilder text, ButtonNodeBuilder button)
Parameters
text
ITextNodeBuilder位于段落左侧的文本节点构建器。
button
ButtonNodeBuilder位于段落右侧的按钮节点构建器。
SectionModuleBuilder(ITextNodeBuilder, ITextNodeBuilder)
初始化一个 SectionModuleBuilder 类的新实例。
public SectionModuleBuilder(ITextNodeBuilder firstText, ITextNodeBuilder secondText)
Parameters
firstText
ITextNodeBuilder位于段落左侧的文本节点构建器。
secondText
ITextNodeBuilder位于段落中部的文本节点构建器。
SectionModuleBuilder(ITextNodeBuilder, ITextNodeBuilder, ITextNodeBuilder)
初始化一个 SectionModuleBuilder 类的新实例。
public SectionModuleBuilder(ITextNodeBuilder firstText, ITextNodeBuilder secondText, ITextNodeBuilder thirdText)
Parameters
firstText
ITextNodeBuilder位于段落左侧的文本节点构建器。
secondText
ITextNodeBuilder位于段落中部的文本节点构建器。
thirdText
ITextNodeBuilder位于段落右侧的文本节点构建器。
SectionModuleBuilder(ITextNodeBuilder, ImageNodeBuilder)
初始化一个 SectionModuleBuilder 类的新实例。
public SectionModuleBuilder(ITextNodeBuilder text, ImageNodeBuilder image)
Parameters
text
ITextNodeBuilder位于段落左侧的文本节点构建器。
image
ImageNodeBuilder位于段落右侧的图片节点构建器。
SectionModuleBuilder(ImageNodeBuilder, ITextNodeBuilder)
初始化一个 SectionModuleBuilder 类的新实例。
public SectionModuleBuilder(ImageNodeBuilder image, ITextNodeBuilder text)
Parameters
image
ImageNodeBuilder位于段落右侧的文本节点构建器。
text
ITextNodeBuilder位于段落左侧的图片节点构建器。
SectionModuleBuilder(IList<INodeBuilder>)
初始化一个 SectionModuleBuilder 类的新实例。
public SectionModuleBuilder(IList<INodeBuilder> paragraph)
Parameters
paragraph
IList<INodeBuilder>段落元素。
Fields
MaxParagraphCount
获取模块的最大段落数量。
public const int MaxParagraphCount = 5
Field Value
Properties
Paragraph
初始化一个 SectionModuleBuilder 类的新实例。
public IList<INodeBuilder> Paragraph { get; set; }
Property Value
Type
获取此构建器构建的模块的类型。
public ModuleType Type { get; }
Property Value
Methods
AddNode(INodeBuilder)
添加一个元素到文本模块。
public SectionModuleBuilder AddNode(INodeBuilder field)
Parameters
field
INodeBuilder要添加的按钮元素。
Returns
- SectionModuleBuilder
当前构建器。
AddNode<T>(Action<T>?)
添加一个元素到文本模块。
public SectionModuleBuilder AddNode<T>(Action<T>? button = null) where T : INodeBuilder, new()
Parameters
button
Action<T>一个包含对要添加的新创建的元素的配置的操作。
Returns
- SectionModuleBuilder
当前构建器。
Type Parameters
T
Build()
构建当前构建器为一个 SectionModule 对象。
public SectionModule Build()
Returns
- SectionModule
由当前构建器表示的属性构建的 SectionModule 对象。
Exceptions
- ArgumentNullException
Paragraph 为
null
。- ArgumentException
Paragraph 是一个空列表。
- ArgumentException
Paragraph 的元素数量超过了 MaxParagraphCount。
- InvalidOperationException
Paragraph 的元素不符合模块的规范。支持的模式有:
[文本]
或[文本, 文本/按钮/图片]
或[文本, 文本, 文本]
或[图片, 文本]
。
Equals(SectionModuleBuilder?)
Indicates whether the current object is equal to another object of the same type.
public bool Equals(SectionModuleBuilder? sectionModuleBuilder)
Parameters
sectionModuleBuilder
SectionModuleBuilder
Returns
Equals(object?)
Determines whether the specified object is equal to the current object.
public override bool Equals(object? obj)
Parameters
obj
objectThe object to compare with the current object.
Returns
GetHashCode()
Serves as the default hash function.
public override int GetHashCode()
Returns
- int
A hash code for the current object.
Operators
operator ==(SectionModuleBuilder?, SectionModuleBuilder?)
判定两个 SectionModuleBuilder 是否相等。
public static bool operator ==(SectionModuleBuilder? left, SectionModuleBuilder? right)
Parameters
left
SectionModuleBuilderright
SectionModuleBuilder
Returns
- bool
如果两个 SectionModuleBuilder 相等,则为
true
;否则为false
。
operator !=(SectionModuleBuilder?, SectionModuleBuilder?)
判定两个 SectionModuleBuilder 是否不相等。
public static bool operator !=(SectionModuleBuilder? left, SectionModuleBuilder? right)
Parameters
left
SectionModuleBuilderright
SectionModuleBuilder
Returns
- bool
如果两个 SectionModuleBuilder 不相等,则为
true
;否则为false
。