For the complete documentation index, see llms.txt. This page is also available as Markdown.

枚举工具

EnumUtility 和 EnumEntry 枚举元数据工具。

EnumUtility 用于读取枚举项的名称、别名、描述和值,并以 EnumEntry 结构返回。

下列代码来自框架测试,Gender 是 Zongsoft.Tests 中的测试枚举,不是 Discussions.Models.Gender。前者的别名和描述必须与测试定义一起阅读。

EnumEntry

EnumEntry 包含枚举项的元数据:

字段
说明

枚举类型。

Name

枚举项名称。

Value

枚举项值;可选择枚举值或基础数值。

Aliases

枚举项别名。

Description

枚举项说明。

读取枚举项

来源:framework/Zongsoft.Core/test/Common/EnumUtilityTest.cs(节选;上下文见源文件)。

EnumUtilityTest.cs
public void TestGetEnumEntry()
{
	var entry = EnumUtility.GetEnumEntry(Gender.Female);

	Assert.Equal("Female", entry.Name);
	Assert.Equal(Gender.Female, entry.Value); //注意:entry.Value 为枚举类型
	Assert.True(entry.HasAlias("F"));
	Assert.Equal("女士", entry.Description);
	Assert.Equal("女士", EnumUtility.GetEnumDescription(Gender.Female));

	entry = EnumUtility.GetEnumEntry(Gender.Male, true);

	Assert.Equal("Male", entry.Name);
	Assert.Equal((byte)1, entry.Value); //注意:entry.Value 为枚举项的基元类型
	Assert.True(entry.HasAlias("M"));
	Assert.Equal("男士", entry.Description);
	Assert.Equal("男士", EnumUtility.GetEnumDescription(Gender.Male));
}

GetEnumEntries 可以读取整个枚举类型,也可以为可空枚举追加空值项。

来源:framework/Zongsoft.Core/test/Common/EnumUtilityTest.cs(节选;上下文见源文件)。

相关资源

最后更新于