public static void Main()
Console.WriteLine("-------- String Part Started ---------");
var current = TradingStatusOverride.SuspendedByTrader | TradingStatusOverride.SuspendedByNoActiveMarkets;
var currentAsString = current.AsString();
var currentToString = current.ToString();
Console.WriteLine($"Items equal check result : {currentAsString == currentToString}");
Console.WriteLine($"AsString Result : {currentAsString}");
Console.WriteLine($"ToString Result : {currentToString}");
Console.WriteLine("-------- String Part Finished ---------");
Console.WriteLine("-------- String Array Part Started ---------");
var currentAsStringArray = current.AsStringArray();
var currentToStringArray = current.ToString().Split(", ");
for (var i = 0; i < currentAsStringArray.Length; i++)
Console.WriteLine($"Item {i} equal check result : {currentAsStringArray[i] == currentToStringArray[i]}");
Console.WriteLine($"AsStringArray Result : {currentAsStringArray[i]}");
Console.WriteLine($"ToStringArray Result : {currentToStringArray[i]}");
Console.WriteLine("-----------------");
Console.WriteLine("-------- String Array Part Finished ---------");
public enum TradingStatusOverride
SuspendedByRisk = 1 << 1,
SuspendedFromTemplate = 1 << 4,
ClosedFromTemplate = 1 << 5,
TemplateNotConfigured = 1 << 6,
SuspendedByEventStatusChanged = 1 << 7,
SuspendedByError = 1 << 8,
ClosedByLineSettings = 1 << 9,
SuspendedByNoActiveMarkets = 1 << 10,
FeedSourceDisabledInFeedConfig = 1 << 12,
SuspendedByFallback = 1 << 13,
NoFeedSourceSelected = 1 << 14,
MarketInTemplateNotConfigured = 1 << 15,
SuspendedByFeedConfig = 1 << 16,
SuspendEventWithOnlyMixedMarketsActive = 1 << 17
public static class TradingStatusOverrideExtensions
private const string Separator = ", ";
public static bool HasFlagFast(this TradingStatusOverride value, TradingStatusOverride flag)
return (value & flag) != 0;
public static string AsString(this TradingStatusOverride values)
return values.ToString();
public static TradingStatusOverride Remove(this TradingStatusOverride value, TradingStatusOverride flag)
public static string[] AsStringArray(this TradingStatusOverride values)
return values.AsString().Split(Separator);
public static TradingStatusOverride Add(this TradingStatusOverride value, TradingStatusOverride flag)