namespace BmsMonitor.App.Can; public enum CanBaudRate { Kbps250, Kbps500 } internal static class CanBaudRateExtensions { internal static (byte Timing0, byte Timing1) ToTiming(this CanBaudRate baudRate) => baudRate switch { CanBaudRate.Kbps250 => (0x01, 0x1C), CanBaudRate.Kbps500 => (0x00, 0x1C), _ => throw new ArgumentOutOfRangeException(nameof(baudRate), baudRate, "不支持的 CAN 波特率。") }; internal static string ToDisplayText(this CanBaudRate baudRate) => baudRate switch { CanBaudRate.Kbps250 => "250K", CanBaudRate.Kbps500 => "500K", _ => throw new ArgumentOutOfRangeException(nameof(baudRate), baudRate, "不支持的 CAN 波特率。") }; }