Entity.cs 478 Bytes
namespace Rcs.Domain
{
    public abstract class Entity
    {
        private List<IDomainEvent> _domainEvents;
        public IReadOnlyCollection<IDomainEvent> DomainEvents => _domainEvents ?? (IReadOnlyCollection<IDomainEvent>)Array.Empty<IDomainEvent>();
        protected void AddDomainEvent(IDomainEvent domainEvent)
            => (_domainEvents ??= new List<IDomainEvent>()).Add(domainEvent);
        public void ClearDomainEvents() => _domainEvents?.Clear();
    }
}