private void Load() { if (Invalid) { IsInitialized = false; } if (!IsInitialized) { Collection = new System.Collections.Generic.List <OlapAttributeTable>(0); System.Collections.ArrayList attributeTables = NativeOlapApi.AttributeTables(_dimension.Server.Store.ClientSlot, _dimension.Server.ServerHandle, _dimension.Name, _dimension.Server.LastErrorInternal); if (attributeTables != null) { for (int i = 0; i < attributeTables.Count; i++) { OlapAttributeTableDefintion tableDef = (OlapAttributeTableDefintion)attributeTables[i]; Collection.Add(new OlapAttributeTable(_dimension, tableDef.Name, tableDef.Id, tableDef.FieldCount, tableDef.RecordCount)); } } else { if (_dimension.Server.LastErrorInternal.Value != 0) { throw new OlapException("Receiving the attribute table collection failed!", _dimension.Server.LastErrorInternal.Value); } } Invalid = false; IsInitialized = true; } }