using System;

namespace Swan.DependencyInjection {
  /// <summary>
  /// Weak Reference Exception.
  /// </summary>
  /// <seealso cref="System.Exception" />
  public class DependencyContainerWeakReferenceException : Exception {
    private const String ErrorText = "Unable to instantiate {0} - referenced object has been reclaimed";

    /// <summary>
    /// Initializes a new instance of the <see cref="DependencyContainerWeakReferenceException"/> class.
    /// </summary>
    /// <param name="type">The type.</param>
    public DependencyContainerWeakReferenceException(Type type) : base(String.Format(ErrorText, type.FullName)) {
    }
  }
}