cs-codex-dist-tests/CodexDistTestCore/ByteSize.cs

58 lines
1.1 KiB
C#
Raw Normal View History

2023-03-21 12:20:21 +00:00
namespace CodexDistTestCore
{
public class ByteSize
{
public ByteSize(long sizeInBytes)
{
SizeInBytes = sizeInBytes;
}
public long SizeInBytes { get; }
}
public static class IntExtensions
{
private const long Kilo = 1024;
public static ByteSize KB(this long i)
{
return new ByteSize(i * Kilo);
}
public static ByteSize MB(this long i)
{
2023-03-21 12:20:21 +00:00
return (i * Kilo).KB();
}
public static ByteSize GB(this long i)
{
2023-03-21 12:20:21 +00:00
return (i * Kilo).MB();
}
public static ByteSize TB(this long i)
{
2023-03-21 12:20:21 +00:00
return (i * Kilo).GB();
}
public static ByteSize KB(this int i)
{
2023-03-21 12:20:21 +00:00
return Convert.ToInt64(i).KB();
}
public static ByteSize MB(this int i)
{
2023-03-21 12:20:21 +00:00
return Convert.ToInt64(i).MB();
}
public static ByteSize GB(this int i)
{
2023-03-21 12:20:21 +00:00
return Convert.ToInt64(i).GB();
}
public static ByteSize TB(this int i)
{
2023-03-21 12:20:21 +00:00
return Convert.ToInt64(i).TB();
}
}
}