using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace YLErp.Enums { [Flags] public enum MarginScenarioEnum { None = 0, /// /// 初始预付金 /// Initial = 1 << 0, /// /// 持仓预付金 /// Position = 1 << 1, /// /// 全部 /// All = Initial | Position } public static class MarginScenarioUtil { /// /// 获取枚举描述 /// public static string GetDesc(MarginScenarioEnum type) { return InnerGetDesc(type); } private static string InnerGetDesc(MarginScenarioEnum type) { switch (type) { case MarginScenarioEnum.Initial: return "初始预付金"; case MarginScenarioEnum.Position: return "持仓预付金"; default: break; } var nt = (int)type; var list = new List(2); for (var i = 0; i <= 1; i++) { if ((nt & (1 << i)) > 0) { type = (MarginScenarioEnum)(1 << i); list.Add(InnerGetDesc(type)); } } return string.Join(",", list); } } }