Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- LambdaReference.cs
- SqlProviderServices.cs
- TextServicesCompartmentContext.cs
- BinaryFormatterWriter.cs
- AnnouncementEndpoint.cs
- RelationshipDetailsRow.cs
- Listen.cs
- AlternateViewCollection.cs
- XmlAttribute.cs
- GatewayDefinition.cs
- BamlBinaryReader.cs
- Rights.cs
- WinFormsSecurity.cs
- PathTooLongException.cs
- MediaSystem.cs
- ConnectionsZone.cs
- AuthStoreRoleProvider.cs
- CatalogPartChrome.cs
- HostProtectionException.cs
- SiblingIterators.cs
- GZipUtils.cs
- NamespaceTable.cs
- MonitorWrapper.cs
- ToolStripItem.cs
- InteropEnvironment.cs
- FormatterServices.cs
- SoapCodeExporter.cs
- SystemThemeKey.cs
- TreeViewHitTestInfo.cs
- DocumentReferenceCollection.cs
- XmlLangPropertyAttribute.cs
- PrintController.cs
- CqlQuery.cs
- Lasso.cs
- SHA256.cs
- NullableBoolConverter.cs
- AspCompat.cs
- MsmqHostedTransportManager.cs
- HttpCachePolicyWrapper.cs
- GridViewCommandEventArgs.cs
- MenuItemStyleCollection.cs
- DataObjectMethodAttribute.cs
- BuildResultCache.cs
- ColorDialog.cs
- RequiredAttributeAttribute.cs
- ZipFileInfoCollection.cs
- CodeAttributeDeclarationCollection.cs
- PagerSettings.cs
- TextTreeTextNode.cs
- NumericUpDownAccelerationCollection.cs
- RegexBoyerMoore.cs
- ControlOperationBehavior.cs
- SQLByte.cs
- FixUpCollection.cs
- DSGeneratorProblem.cs
- VirtualDirectoryMapping.cs
- Blend.cs
- WebPartExportVerb.cs
- ForeignKeyConstraint.cs
- TypeRefElement.cs
- DataProviderNameConverter.cs
- Rules.cs
- RelOps.cs
- AppDomainFactory.cs
- PrtTicket_Editor.cs
- XmlSerializerAssemblyAttribute.cs
- SafeEventHandle.cs
- XmlSchemaExternal.cs
- DurableEnlistmentState.cs
- Exceptions.cs
- ArraySubsetEnumerator.cs
- TextEditorContextMenu.cs
- WindowsFormsSynchronizationContext.cs
- DynamicControl.cs
- ComponentChangedEvent.cs
- NativeMethods.cs
- TextRunProperties.cs
- AsmxEndpointPickerExtension.cs
- ExtensionWindowResizeGrip.cs
- OdbcFactory.cs
- XamlFilter.cs
- MutexSecurity.cs
- ListMarkerLine.cs
- DefaultEvaluationContext.cs
- CommandLineParser.cs
- XmlNotation.cs
- UniqueEventHelper.cs
- MulticastNotSupportedException.cs
- InternalControlCollection.cs
- PositiveTimeSpanValidatorAttribute.cs
- Util.cs
- CategoryGridEntry.cs
- SvcMapFile.cs
- ObjectDataSourceView.cs
- GridViewDeleteEventArgs.cs
- IIS7WorkerRequest.cs
- ReceiveCompletedEventArgs.cs
- SecurityDocument.cs
- ClockController.cs
- SqlClientWrapperSmiStreamChars.cs