枚举工具
EnumUtility 和 EnumEntry 枚举元数据工具。
EnumUtility 用于读取枚举项的名称、别名、描述和值,并以 EnumEntry 结构返回。
下列代码来自框架测试,Gender 是 Zongsoft.Tests 中的测试枚举,不是 Discussions.Models.Gender。前者的别名和描述必须与测试定义一起阅读。
EnumEntry
EnumEntry 包含枚举项的元数据:
读取枚举项
来源:framework/Zongsoft.Core/test/Common/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(节选;上下文见源文件)。
相关资源
最后更新于