/// <summary>
        /// 実装クラスからインスタンスを生成して返却する。
        /// </summary>
        /// <typeparam name="T">インスタンス型</typeparam>
        /// <returns></returns>
        /// <exception cref="NotImplementedException">登録されていない型を指定した場合</exception>
        public static T Resolve <T>(string key = "default")
        {
            // コンテナ取得
            if (!ContainerDic.ContainsKey(key))
            {
                throw new ContainerNotRegistrationException();
            }
            var container = ContainerDic.First(kv => kv.Key.Equals(key)).Value;

            // インスタンス生成情報取得
            if (!container.ContainsKey(typeof(T)))
            {
                throw new ContainerNotRegistrationException();
            }
            var createInfo = container.First(kv => kv.Key == typeof(T)).Value;

            return((T)createInfo.GetInstance());
        }