Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataEntity / System / Data / EntityModel / SchemaObjectModel / SchemaElementLookUpTable.cs / 2 / 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
- SiblingIterators.cs
- MultipartIdentifier.cs
- SqlResolver.cs
- EntityContainerAssociationSet.cs
- NativeMethods.cs
- ButtonBase.cs
- WebBrowserBase.cs
- StructuralCache.cs
- XPathSelectionIterator.cs
- InternalsVisibleToAttribute.cs
- Matrix.cs
- DataGridColumnCollection.cs
- GetPageCompletedEventArgs.cs
- DependencyObjectPropertyDescriptor.cs
- PersonalizationStateQuery.cs
- SortFieldComparer.cs
- SplineQuaternionKeyFrame.cs
- MarshalByValueComponent.cs
- SamlAuthenticationStatement.cs
- MemberDomainMap.cs
- TickBar.cs
- TextEditorParagraphs.cs
- TypedTableBaseExtensions.cs
- GZipDecoder.cs
- DataException.cs
- HTMLTextWriter.cs
- GcSettings.cs
- WmpBitmapDecoder.cs
- ConfigurationErrorsException.cs
- CollectionDataContractAttribute.cs
- FacetDescription.cs
- ExceptionCollection.cs
- DefaultHttpHandler.cs
- SubMenuStyle.cs
- SurrogateSelector.cs
- AutomationTextAttribute.cs
- OperatingSystem.cs
- NonVisualControlAttribute.cs
- DetailsViewUpdateEventArgs.cs
- WebHeaderCollection.cs
- DataGridViewTextBoxEditingControl.cs
- StreamSecurityUpgradeProvider.cs
- BitmapImage.cs
- InternalConfigHost.cs
- DataTableMappingCollection.cs
- TextModifierScope.cs
- EncoderParameters.cs
- SqlProfileProvider.cs
- MULTI_QI.cs
- PatternMatcher.cs
- QueryPageSettingsEventArgs.cs
- BaseProcessor.cs
- Tile.cs
- Pointer.cs
- PersonalizationStateInfoCollection.cs
- LockCookie.cs
- SessionSwitchEventArgs.cs
- SqlNotificationEventArgs.cs
- PolicyValidationException.cs
- XmlWhitespace.cs
- DeviceContext.cs
- GotoExpression.cs
- _IPv4Address.cs
- TypeToArgumentTypeConverter.cs
- WebAdminConfigurationHelper.cs
- DictionaryBase.cs
- AnimationClockResource.cs
- TextBounds.cs
- ProtectedConfigurationProviderCollection.cs
- KnownBoxes.cs
- BufferedGraphicsManager.cs
- EFColumnProvider.cs
- RelationshipFixer.cs
- WindowsGraphics.cs
- LinearGradientBrush.cs
- FamilyMapCollection.cs
- ColorTransformHelper.cs
- WindowsToolbarItemAsMenuItem.cs
- DrawingVisual.cs
- ScrollContentPresenter.cs
- StateDesignerConnector.cs
- DispatcherProcessingDisabled.cs
- ColumnResult.cs
- SmtpCommands.cs
- WebDescriptionAttribute.cs
- ObjectDataSourceDisposingEventArgs.cs
- DrawingContextWalker.cs
- RadioButtonRenderer.cs
- CorrelationTokenInvalidatedHandler.cs
- TreeNodeBindingCollection.cs
- EventMappingSettings.cs
- FileNotFoundException.cs
- COSERVERINFO.cs
- ThrowHelper.cs
- Assert.cs
- ObjectAnimationUsingKeyFrames.cs
- WorkflowView.cs
- PageThemeBuildProvider.cs
- ModifierKeysValueSerializer.cs
- MessagePropertyDescriptionCollection.cs