Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / EntityModel / SchemaObjectModel / SchemaElementLookUpTable.cs / 1305376 / SchemaElementLookUpTable.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.Diagnostics; using System.Data; using System.Data.Metadata.Edm; namespace System.Data.EntityModel.SchemaObjectModel { ////// Summary description for SchemaElementLookUpTable. /// internal sealed class SchemaElementLookUpTable: IEnumerable , ISchemaElementLookUpTable where T : SchemaElement { #region Instance Fields private Dictionary _keyToType = null; private List _keysInDefOrder = new List (); #endregion #region Public Methods /// /// /// public SchemaElementLookUpTable() { } ////// /// public int Count { get { return KeyToType.Count; } } ////// /// /// ///public bool ContainsKey(string key) { return KeyToType.ContainsKey(KeyFromName(key)); } /// /// /// /// ///public T LookUpEquivalentKey(string key) { key = KeyFromName(key); T element; if (KeyToType.TryGetValue(key, out element)) { return element; } return null; } /// /// /// public T this[string key] { get { return KeyToType[KeyFromName(key)]; } } ////// /// public T GetElementAt(int index) { return KeyToType[_keysInDefOrder[index]]; } ////// /// ///public IEnumerator GetEnumerator() { return new SchemaElementLookUpTableEnumerator (KeyToType,_keysInDefOrder); } IEnumerator System.Collections.IEnumerable.GetEnumerator() { return new SchemaElementLookUpTableEnumerator (KeyToType,_keysInDefOrder); } /// /// /// ///public IEnumerator GetFilteredEnumerator() where S : T { return new SchemaElementLookUpTableEnumerator(KeyToType,_keysInDefOrder); } ////// Add the given type to the schema look up table. If there is an error, it /// adds the error and returns false. otherwise, it adds the type to the lookuptable /// and returns true /// public AddErrorKind TryAdd(T type) { Debug.Assert(type != null, "type parameter is null"); if (String.IsNullOrEmpty(type.Identity)) { return AddErrorKind.MissingNameError; } string key = KeyFromElement(type); T element; if (KeyToType.TryGetValue(key, out element)) { return AddErrorKind.DuplicateNameError; } KeyToType.Add(key,type); _keysInDefOrder.Add(key); return AddErrorKind.Succeeded; } public void Add(T type, bool doNotAddErrorForEmptyName, Func
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EditorAttribute.cs
- safex509handles.cs
- Vector3DIndependentAnimationStorage.cs
- GZipStream.cs
- Calendar.cs
- IntSecurity.cs
- Int32CAMarshaler.cs
- HotSpot.cs
- MULTI_QI.cs
- xmlglyphRunInfo.cs
- BitmapEffectvisualstate.cs
- Win32MouseDevice.cs
- MailAddress.cs
- DetailsViewUpdateEventArgs.cs
- SelectionProcessor.cs
- SelectionHighlightInfo.cs
- TrustManagerMoreInformation.cs
- KerberosReceiverSecurityToken.cs
- Parameter.cs
- LinkLabelLinkClickedEvent.cs
- DependencyObjectType.cs
- COM2IDispatchConverter.cs
- DynamicActionMessageFilter.cs
- WindowsFormsSynchronizationContext.cs
- GenerateTemporaryAssemblyTask.cs
- Compiler.cs
- FieldAccessException.cs
- BitmapEffect.cs
- DaylightTime.cs
- ServiceMemoryGates.cs
- X509Certificate.cs
- RuntimeArgumentHandle.cs
- XPathDocumentNavigator.cs
- ScrollItemPattern.cs
- EntityCommandExecutionException.cs
- TriggerAction.cs
- BitStream.cs
- BinaryReader.cs
- HMAC.cs
- ProxyWebPart.cs
- OdbcConnectionString.cs
- RequestCachePolicy.cs
- MatrixCamera.cs
- WizardStepBase.cs
- PrintingPermissionAttribute.cs
- SqlDataSourceQueryConverter.cs
- BinaryFormatter.cs
- ExpandCollapseProviderWrapper.cs
- _FixedSizeReader.cs
- BasePattern.cs
- UICuesEvent.cs
- PeerNameRecord.cs
- RuntimeConfigLKG.cs
- FixUp.cs
- CacheSection.cs
- SelectedGridItemChangedEvent.cs
- AccessDataSourceView.cs
- SiteMapDataSourceView.cs
- TextEditorThreadLocalStore.cs
- ColorInterpolationModeValidation.cs
- Context.cs
- ToolStripItem.cs
- XmlAnyAttributeAttribute.cs
- ProfessionalColors.cs
- SecurityDescriptor.cs
- InternalException.cs
- SspiWrapper.cs
- StdRegProviderWrapper.cs
- Ops.cs
- FormClosedEvent.cs
- AsnEncodedData.cs
- UrlMappingsSection.cs
- ObjectQueryProvider.cs
- CssTextWriter.cs
- XPathNavigator.cs
- Double.cs
- DataGridViewBand.cs
- XmlCollation.cs
- SspiSecurityToken.cs
- OwnerDrawPropertyBag.cs
- PointKeyFrameCollection.cs
- DependencyStoreSurrogate.cs
- SymbolType.cs
- InvalidProgramException.cs
- SqlClientFactory.cs
- ProxyElement.cs
- HttpChannelHelper.cs
- SHA512.cs
- XmlSchemaObject.cs
- InputReport.cs
- RC2.cs
- RelationshipNavigation.cs
- PeerMaintainer.cs
- TaskExtensions.cs
- SiteMembershipCondition.cs
- LinkConverter.cs
- RSAProtectedConfigurationProvider.cs
- FieldInfo.cs
- SelectionItemPattern.cs
- RequestValidator.cs