/// <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(); }