/// <summary> /// used for recursive type code creation /// </summary> private void RegisterCreatedTypeCodeForType(Type forType, AttributeExtCollection attributes, TypeCodeImpl typeCode) { TypecodeForTypeKey key = new TypecodeForTypeKey(forType, attributes); lock (m_alreadyCreatedTypeCodes) m_alreadyCreatedTypeCodes[key] = typeCode; }
private TypeCodeImpl CreateOrGetTypeCodeForType(Type forType, AttributeExtCollection attributes) { TypecodeForTypeKey key = new TypecodeForTypeKey(forType, attributes); TypeCodeImpl result; lock (m_alreadyCreatedTypeCodes) result = m_alreadyCreatedTypeCodes[key] as TypeCodeImpl; if (result == null) { result = Repository.CreateTypeCodeForTypeInternal(forType, attributes, this); } return(result); }
/// <summary> /// used for recursive type code creation /// </summary> private void RegisterCreatedTypeCodeForType(Type forType, AttributeExtCollection attributes, TypeCodeImpl typeCode) { TypecodeForTypeKey key = new TypecodeForTypeKey(forType, attributes); lock(m_alreadyCreatedTypeCodes) m_alreadyCreatedTypeCodes[key] = typeCode; }
private TypeCodeImpl CreateOrGetTypeCodeForType(Type forType, AttributeExtCollection attributes) { TypecodeForTypeKey key = new TypecodeForTypeKey(forType, attributes); TypeCodeImpl result; lock(m_alreadyCreatedTypeCodes) result = m_alreadyCreatedTypeCodes[key] as TypeCodeImpl; if (result == null) result = Repository.CreateTypeCodeForTypeInternal(forType, attributes, this); return result; }