public void PrintCounts(MultiWriter logWriter) { foreach (var value in EnumTraits <TEnum> .EnumerateValues()) { logWriter.WriteLine("{0}: {1}", value, m_counts[EnumTraits <TEnum> .ToInteger(value)]); } logWriter.WriteLine(); }
/// <summary> /// Gets a counter index given an enum name. /// </summary> public ushort GetCounterIndex(TEnum counterId) { ulong counterIdValue = EnumTraits <TEnum> .ToInteger(counterId); Contract.Assume(counterIdValue >= CounterIdOffset); ulong relativeCounterIdValue = counterIdValue - CounterIdOffset; return(checked ((ushort)relativeCounterIdValue)); }
public void Set(TEnum column, object value) { if (value == null) { return; } var stringValue = value.ToString(); var columnIndex = EnumTraits <TEnum> .ToInteger(column); m_maxColumnLengths[columnIndex] = Math.Max(m_maxColumnLengths[columnIndex], stringValue.Length); m_currentRow[columnIndex] = stringValue; }
public void Increment(TEnum value) { m_counts[EnumTraits <TEnum> .ToInteger(value)]++; }
public void CanConvertToInteger() { XAssert.AreEqual((ulong)TestEnum.A, EnumTraits <TestEnum> .ToInteger(TestEnum.A)); XAssert.AreEqual((ulong)TestEnum.B, EnumTraits <TestEnum> .ToInteger(TestEnum.B)); XAssert.AreEqual((ulong)TestEnum.C, EnumTraits <TestEnum> .ToInteger(TestEnum.C)); }