using System.Collections.Generic; namespace Umbraco.Cms.Core.Events { /// /// Provides a base class for classes representing event data, for events that support cancellation, and expose an impacted object. /// public abstract class CancellableObjectEventArgs : CancellableEventArgs { protected CancellableObjectEventArgs(object? eventObject, bool canCancel, EventMessages messages, IDictionary additionalData) : base(canCancel, messages, additionalData) { EventObject = eventObject; } protected CancellableObjectEventArgs(object? eventObject, bool canCancel, EventMessages eventMessages) : base(canCancel, eventMessages) { EventObject = eventObject; } protected CancellableObjectEventArgs(object? eventObject, EventMessages eventMessages) : this(eventObject, true, eventMessages) { } protected CancellableObjectEventArgs(object? eventObject, bool canCancel) : base(canCancel) { EventObject = eventObject; } protected CancellableObjectEventArgs(object? eventObject) : this(eventObject, true) { } /// /// Gets or sets the impacted object. /// /// /// This is protected so that inheritors can expose it with their own name /// public object? EventObject { get; set; } } }