20211111-1

This commit is contained in:
Александр Бабаев 2021-11-12 07:12:08 +03:00
parent 3a9dc475e9
commit 2d69035bd7
3 changed files with 65 additions and 1 deletions

60
anbs_cp/CountFormatter.cs Normal file
View File

@ -0,0 +1,60 @@
namespace anbs_cp
{
/// <summary>
/// Форматирует число элементов в понятную строку
/// </summary>
public class CountFormatter : IValueFormatter
{
#region ойства класса
/// <summary>
/// Имена чисел ( , тысяч, миллионов, миллиардов и триллионов)
/// </summary>
public string[] SizeNames { get; set; } = { "Байт", "Кб", "Мб", "Гб", "Тб" };
/// <summary>
/// Знаков после запятой
/// </summary>
public byte DecimalPlaces { get; set; } = 2;
/// <summary>
/// Максимально байт (далее идут Кбайты)
/// </summary>
public long ByteMax { get; set; } = 1024;
/// <summary>
/// Максимально Кбайт (далее идут Мбайты)
/// </summary>
public long KByteMax { get; set; } = 1048576;
/// <summary>
/// Максимально Мбайт (далее идут Гбайты)
/// </summary>
public long MByteMax { get; set; } = 1073741824;
/// <summary>
/// Максимально Гбайт (далее идут Тбайты)
/// </summary>
public long GByteMax { get; set; } = 1099511627776;
#endregion
#region Реализация интерфейса
/// <summary>
/// Реализация интерфейса
/// </summary>
public string[] ValueNames { get => SizeNames; set => SizeNames = value; }
/// <summary>
/// Реализация интерфейса
/// </summary>
public long[] MaxSizes
{
get => new long[] { ByteMax, KByteMax, MByteMax, GByteMax };
set
{
ByteMax = value[0];
KByteMax = value[1];
MByteMax = value[2];
GByteMax = value[3];
}
}
/// <summary>
/// Реализация интерфейса
/// </summary>
public string Format(long value) => (this as IValueFormatter).Format(value);
#endregion
}
}

View File

@ -51,6 +51,10 @@
GByteMax = value[3]; GByteMax = value[3];
} }
} }
/// <summary>
/// Реализация интерфейса
/// </summary>
public string Format(long value) => (this as IValueFormatter).Format(value);
#endregion #endregion
} }
} }

View File

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>net6.0-windows</TargetFramework> <TargetFramework>net6.0</TargetFramework>
<Version>1.20211111.0</Version> <Version>1.20211111.0</Version>
<Authors>Alexander Babaev</Authors> <Authors>Alexander Babaev</Authors>
<Product>ANB Software Components Pack</Product> <Product>ANB Software Components Pack</Product>