Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / DataEntity / System / Data / EntityModel / SchemaObjectModel / SchemaElementLookUpTable.cs / 1 / 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
- CryptoConfig.cs
- ToolStripRendererSwitcher.cs
- ObservableCollection.cs
- OpCopier.cs
- OpacityConverter.cs
- StyleTypedPropertyAttribute.cs
- DataGridViewSelectedColumnCollection.cs
- PeerContact.cs
- ExitEventArgs.cs
- Lease.cs
- WindowsListViewGroupHelper.cs
- StandardMenuStripVerb.cs
- PictureBox.cs
- MethodResolver.cs
- SplineKeyFrames.cs
- FontInfo.cs
- MultiSelector.cs
- TitleStyle.cs
- DummyDataSource.cs
- DataGridViewRowCancelEventArgs.cs
- MessageFormatterConverter.cs
- ConstructorArgumentAttribute.cs
- InputBuffer.cs
- Timer.cs
- NamespaceCollection.cs
- BamlLocalizableResourceKey.cs
- TreeViewImageIndexConverter.cs
- _SecureChannel.cs
- SqlDataSourceView.cs
- SerializationFieldInfo.cs
- Boolean.cs
- StreamUpgradeBindingElement.cs
- ExpressionContext.cs
- SignatureResourceHelper.cs
- AuthenticationModuleElementCollection.cs
- Button.cs
- mansign.cs
- SubMenuStyleCollection.cs
- BitmapSource.cs
- UrlPath.cs
- ServicePoint.cs
- AttachmentService.cs
- DataGridViewColumnEventArgs.cs
- ImmComposition.cs
- BamlLocalizer.cs
- FileDetails.cs
- DefaultEventAttribute.cs
- CodeAssignStatement.cs
- XmlnsCompatibleWithAttribute.cs
- CategoryNameCollection.cs
- WebPartDisplayModeCollection.cs
- EntityCollection.cs
- AttributeCallbackBuilder.cs
- Activation.cs
- TranslateTransform.cs
- BitmapPalettes.cs
- RowUpdatingEventArgs.cs
- DelimitedListTraceListener.cs
- EntityDataSourceViewSchema.cs
- LexicalChunk.cs
- SortDescriptionCollection.cs
- AuthenticationModulesSection.cs
- PerformanceCounterPermission.cs
- SAPIEngineTypes.cs
- TreeViewItemAutomationPeer.cs
- LineBreakRecord.cs
- TreeBuilder.cs
- PolicyValidationException.cs
- NameScope.cs
- ProviderSettingsCollection.cs
- DetailsViewUpdateEventArgs.cs
- RubberbandSelector.cs
- Image.cs
- OleDbDataAdapter.cs
- HttpListenerPrefixCollection.cs
- SamlNameIdentifierClaimResource.cs
- Activation.cs
- InteropAutomationProvider.cs
- TableColumn.cs
- RangeValuePattern.cs
- EditingCommands.cs
- Point3DAnimationUsingKeyFrames.cs
- ISCIIEncoding.cs
- DataGridViewTextBoxEditingControl.cs
- AuthenticationModuleElementCollection.cs
- NativeActivityFaultContext.cs
- VariableQuery.cs
- SetterBaseCollection.cs
- CapabilitiesState.cs
- IOException.cs
- AuthenticationManager.cs
- ModuleBuilderData.cs
- RegionIterator.cs
- LineInfo.cs
- Operator.cs
- WindowsClaimSet.cs
- DataGridViewCellFormattingEventArgs.cs
- SingleSelectRootGridEntry.cs
- DeclarativeCatalogPart.cs
- SqlBuilder.cs