public IArrayType GetArrayType(IType elementType, int rank) { ArrayHash key = new ArrayHash(elementType, rank); IArrayType entity = (IArrayType)_arrayCache[key]; if (null == entity) { entity = new ArrayType(this, elementType, rank); _arrayCache.Add(key, entity); } return entity; }