using System.Collections;
using System.Collections.Generic;
using Chernobyl.Utility;
namespace Chernobyl.Collections.Generic.Event
{
///
/// An type that makes creating new
/// types easier.
///
public abstract class DecoratingEventEnumerable : EventEnumerable
{
///
/// Initializes a new instance of the class.
///
/// The
/// being decorated or extended with event capabilities.
protected DecoratingEventEnumerable(IEnumerable enumerableDecorated)
{
enumerableDecorated.ThrowIfNull("enumerableDecorated");
_enumerableDecorated = enumerableDecorated;
}
///
/// The being decorated or extended
/// with event capabilities.
///
protected override IEnumerable EnumerableDecorated
{
get { return _enumerableDecorated; }
}
///
/// The backing field to .
///
readonly IEnumerable _enumerableDecorated;
}
///
/// An type that makes creating new
/// types easier.
///
/// The type that is to be held within this
/// .
public abstract class DecoratingEventEnumerable : EventEnumerable
{
///
/// Initializes a new instance of the
/// class.
///
/// The
/// being decorated or extended with event capabilities.
protected DecoratingEventEnumerable(IEnumerable genericEnumerableDecorated)
{
genericEnumerableDecorated.ThrowIfNull("genericEnumerableDecorated");
_genericEnumerableDecorated = genericEnumerableDecorated;
}
///
/// The being decorated or extended
/// with event capabilities.
///
protected override IEnumerable GenericEnumerableDecorated
{
get { return _genericEnumerableDecorated; }
}
///
/// The backing field to .
///
readonly IEnumerable _genericEnumerableDecorated;
}
}