类型转换
Convert 类型转换和十六进制转换工具。
Zongsoft.Common.Convert 是框架内的增强转换工具,覆盖常规类型转换、可空类型、枚举别名、TimeSpan 源码 简写格式、十六进制文本和自定义转换器。
转换值
ConvertValue 支持常规类型转换、枚举别名转换、TimeSpan 源码 简写格式转换、自定义 TypeConverter 源码。
来源:framework/Zongsoft.Core/test/Common/ConvertTest.cs(节选;上下文见源文件)。
Assert.Null(Zongsoft.Common.Convert.ConvertValue<int?>("", default(int?)));
Assert.Null(Zongsoft.Common.Convert.ConvertValue<int?>("x", () => default(int?)));
Assert.NotNull(Zongsoft.Common.Convert.ConvertValue<int?>("123", () => default(int?)));
Assert.Equal(123, Zongsoft.Common.Convert.ConvertValue<int?>("123", () => default(int?)));
object value = 123;
Assert.Equal(123.0f, Zongsoft.Common.Convert.ConvertValue<float>(value));
Assert.Equal(123.0d, Zongsoft.Common.Convert.ConvertValue<double>(value));
Assert.Equal(123.0m, Zongsoft.Common.Convert.ConvertValue<decimal>(value));
value = "123";
Assert.Equal(123, Zongsoft.Common.Convert.ConvertValue<int>(value));TryConvertValue 适合不希望转换失败抛异常的场景。下面的框架测试还展示了时间跨度简写格式与类型转换的配合。
来源:framework/Zongsoft.Core/test/Common/ConvertTest.cs(节选;上下文见源文件)。
二进制和十六进制文本可以互转。
来源:framework/Zongsoft.Core/test/Common/ConvertTest.cs(节选;上下文见源文件)。
枚举工具这些片段来自框架 ConvertTest。十六进制测试中的 BinaryCompare 是该测试类的辅助方法;前两个片段是方法内部节选。Discussions 自定义标签转换的实际实现可见 TagsConverter。
相关资源
最后更新于