/// <summary>
        /// Injection対象の型か判定
        /// </summary>
        /// <param name="componentType">コンポーネント型</param>
        /// <returns>true;Injection対象, false:Injection対象外</returns>
        public virtual bool IsTargetType(Type componentType)
        {
            // 必ずInjection対象とする型か?
            if (InjectionTargetTypes.Contains(componentType))
            {
                QM.OutputLog(GetType(), Message.EnumMsgCategory.DEBUG,
                             string.Format("[{0}] is injection target.",
                                           componentType == null ? "null" : componentType.Name));
                return(true);
            }

            // 必ずInjection非対象とする型か?
            if (componentType.FullName.StartsWith("System") ||
                NotInjectionTargetTypes.Contains(componentType))
            {
                QM.OutputLog(GetType(), Message.EnumMsgCategory.DEBUG,
                             string.Format("[{0}] is not injection target.",
                                           componentType == null ? "null" : componentType.Name));
                return(false);
            }

            // 上記どちらでもない場合はデフォルトの設定を適用
            QM.OutputLog(GetType(), Message.EnumMsgCategory.DEBUG,
                         string.Format("[{0}]:isInjectionTarget:{1}",
                                       componentType == null ? "null" : componentType.Name,
                                       IsTargetTypeDefault));
            return(IsTargetTypeDefault);
        }
 /// <summary>
 /// リソースの解放
 /// </summary>
 public virtual void Dispose()
 {
     NotInjectionTargetTypes.Clear();
     InjectionTargetTypes.Clear();
 }