added events

This commit is contained in:
KaseToatz1337
2024-10-03 09:16:40 +02:00
parent a33cf50a4c
commit d3de812339
5 changed files with 57 additions and 31 deletions

View File

@ -4,8 +4,29 @@
{
private int content;
public delegate void FullEventHandler(Container container, EventArgs eventArgs);
public delegate void OverflowEventHandler(Container container, OverflowEventArgs eventArgs);
public event FullEventHandler? Full;
public event OverflowEventHandler? Overflowed;
public int Capacity { get; }
public int Content {get => content; set { ArgumentOutOfRangeException.ThrowIfNegative(value, nameof(Content)); ArgumentOutOfRangeException.ThrowIfGreaterThan(value, Capacity, nameof(Content)); content = value; } }
public int Content
{
get => content;
set
{
ArgumentOutOfRangeException.ThrowIfNegative(value, nameof(Content));
if (value == Capacity)
{
Full?.Invoke(this, new());
}
else if (value > Capacity)
{
Overflowed?.Invoke(this, new(value - Capacity));
}
content = Math.Min(value, Capacity);
}
}
public Container(int capacity, int content)
{

View File

@ -0,0 +1,7 @@
namespace Buckets.Logic
{
public class OverflowEventArgs(int overflowAmount) : EventArgs
{
public int OverflowAmount { get; } = overflowAmount;
}
}