Files
Umbraco-CMS/src/Umbraco.Core/Events/CancellableEnumerableObjectEventArgs.cs

55 lines
2.1 KiB
C#
Raw Normal View History

using System;
using System.Collections.Generic;
using System.Linq;
namespace Umbraco.Core.Events
{
2019-02-06 17:28:48 +01:00
/// <summary>
/// Represents event data, for events that support cancellation, and expose impacted objects.
2019-11-12 14:46:56 +01:00
/// </summary>
2019-02-06 17:28:48 +01:00
/// <typeparam name="TEventObject">The type of the exposed, impacted objects.</typeparam>
public class CancellableEnumerableObjectEventArgs<TEventObject> : CancellableObjectEventArgs<IEnumerable<TEventObject>>, IEquatable<CancellableEnumerableObjectEventArgs<TEventObject>>
{
2019-02-06 17:28:48 +01:00
public CancellableEnumerableObjectEventArgs(IEnumerable<TEventObject> eventObject, bool canCancel, EventMessages messages, IDictionary<string, object> additionalData)
: base(eventObject, canCancel, messages, additionalData)
{ }
2019-02-06 17:28:48 +01:00
public CancellableEnumerableObjectEventArgs(IEnumerable<TEventObject> eventObject, bool canCancel, EventMessages eventMessages)
: base(eventObject, canCancel, eventMessages)
{ }
2019-02-06 17:28:48 +01:00
public CancellableEnumerableObjectEventArgs(IEnumerable<TEventObject> eventObject, EventMessages eventMessages)
: base(eventObject, eventMessages)
{ }
2019-02-06 17:28:48 +01:00
public CancellableEnumerableObjectEventArgs(IEnumerable<TEventObject> eventObject, bool canCancel)
: base(eventObject, canCancel)
{ }
2019-02-06 17:28:48 +01:00
public CancellableEnumerableObjectEventArgs(IEnumerable<TEventObject> eventObject)
: base(eventObject)
{ }
2019-02-06 17:28:48 +01:00
public bool Equals(CancellableEnumerableObjectEventArgs<TEventObject> other)
{
if (other is null) return false;
if (ReferenceEquals(this, other)) return true;
return EventObject.SequenceEqual(other.EventObject);
}
public override bool Equals(object obj)
{
if (obj is null) return false;
if (ReferenceEquals(this, obj)) return true;
if (obj.GetType() != this.GetType()) return false;
2019-02-06 17:28:48 +01:00
return Equals((CancellableEnumerableObjectEventArgs<TEventObject>)obj);
}
public override int GetHashCode()
{
return HashCodeHelper.GetHashCode(EventObject);
}
}
2019-02-06 17:28:48 +01:00
}