using System; namespace Trigger.Events { /// /// that carry the new value of the event /// /// public class EventArgsValue : EventArgs { #region Properties /// The new value (after the event occured) public T Value { get; private set; } #endregion #region Constructors /// /// The new value after the event occured public EventArgsValue(T Value) { this.Value = Value; } #endregion } /// /// that carry the new value and the old value of the event /// /// public class EventArgsValues : EventArgsValues { /// /// The value before the event occured /// The value after the event occured public EventArgsValues(T oldValue, T newValue) : base(oldValue, newValue) { } } /// /// that carry the new value and the old value of the event /// /// /// public class EventArgsValues : EventArgs { #region Properties /// The old value (before the event occured) public O OldValue { get; private set; } /// The new value (after the event occured) public N NewValue { get; private set; } #endregion #region Constructors /// /// The value before the event occured /// The value after the event occured public EventArgsValues(O oldValue, N newValue) { this.OldValue = oldValue; this.NewValue = newValue; } #endregion } /// /// that carry a specific reason (is very similar to /// /// public class EventArgsReason : EventArgs { #region Properties /// The reason why the event occured public R Reason { get; private set; } #endregion #region Constructors /// /// The reason why the event occured public EventArgsReason(R reason) { this.Reason = reason; } #endregion } }