using System.Collections.Generic; namespace Chernobyl.Values { /// /// A basic implementation of an . /// /// The type held by . public class BasicContainer : HeldValue, IContainer { /// /// Initializes a new instance of the class. /// public BasicContainer() : this(default(T)) { } /// /// Initializes a new instance of the class. /// /// The value held by this instance. public BasicContainer(T value) : this(value, EqualityComparer.Default) {} /// /// Initializes a new instance of the class. /// /// The value held by this instance. /// The instance used to compare new and previous /// values of to determine if /// should be raised. public BasicContainer(T value, IEqualityComparer comparer) : base(value, comparer) { IsReady = true; } /// /// The value held by this instance. If the value has not yet been /// provided it will be equal to default(T). /// public new T Value { get { return base.Value; } protected set { base.Value = value; } } } }