/// <summary> /// 是否忽略类型的定义(因为多个子系统都有同样的定义,那么只使用其中一个) /// </summary> /// <param name="typeName"></param> /// <param name="define"></param> /// <returns></returns> private static bool IsIgnore(string typeName, TypeDefine define) { if (_locates.TryGetValue(typeName, out var defineType)) { //如果类型名称在定位中存在,那么判断define是否满足定位的要求 if (defineType != define.GetType()) { return(true); //不满足要求,不加入索引中 } } return(false); }
private void AddDefineIndex(string typeName, TypeDefine define) { TypeDefine exist = null; if (_defineIndex.TryGetValue(typeName, out exist)) { if (exist.GetType() == define.GetType()) { return; } throw new DomainDrivenException(string.Format(Strings.DynamicTypeRepeated, typeName)); } _defineIndex.TryAdd(typeName, define); }
/// <summary> /// 是否忽略类型的定义(因为多个子系统都有同样的定义,那么只使用其中一个) /// </summary> /// <param name="typeName"></param> /// <param name="define"></param> /// <returns></returns> private static bool IsIgnore(TypeDefine define) { return(IsIgnore(define.GetType())); }