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
- GZipStream.cs
- DataReceivedEventArgs.cs
- JournalNavigationScope.cs
- NotificationContext.cs
- IpcChannel.cs
- DataGridBeginningEditEventArgs.cs
- SignatureToken.cs
- DSASignatureFormatter.cs
- LambdaReference.cs
- EntityProviderFactory.cs
- PopupRootAutomationPeer.cs
- Normalization.cs
- MembershipUser.cs
- XpsS0ValidatingLoader.cs
- FormsAuthenticationEventArgs.cs
- MediaPlayerState.cs
- SafeTimerHandle.cs
- _IPv6Address.cs
- CommandValueSerializer.cs
- EditCommandColumn.cs
- UnSafeCharBuffer.cs
- WebPartDisplayModeCancelEventArgs.cs
- Compress.cs
- ModelEditingScope.cs
- ListViewInsertEventArgs.cs
- FormViewCommandEventArgs.cs
- HtmlValidatorAdapter.cs
- prompt.cs
- PathData.cs
- CroppedBitmap.cs
- UnitySerializationHolder.cs
- RoleManagerSection.cs
- FunctionDefinition.cs
- SqlServer2KCompatibilityAnnotation.cs
- PopupEventArgs.cs
- TemplateControlBuildProvider.cs
- MeasurementDCInfo.cs
- CharEnumerator.cs
- Rfc2898DeriveBytes.cs
- XmlSchemaComplexContentRestriction.cs
- SqlXmlStorage.cs
- StaticContext.cs
- PreservationFileWriter.cs
- TreeBuilder.cs
- DataGridRowsPresenter.cs
- Style.cs
- InvalidDataException.cs
- LogReservationCollection.cs
- BufferModeSettings.cs
- WrappedIUnknown.cs
- CapabilitiesState.cs
- XPathException.cs
- PaginationProgressEventArgs.cs
- DataSourceCache.cs
- XmlSerializableWriter.cs
- EdgeModeValidation.cs
- TemplateBamlRecordReader.cs
- HttpInputStream.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- UrlMappingCollection.cs
- QueryTask.cs
- DataGridCheckBoxColumn.cs
- ListBoxItemWrapperAutomationPeer.cs
- RangeBaseAutomationPeer.cs
- InternalConfigEventArgs.cs
- nulltextcontainer.cs
- ListView.cs
- LogWriteRestartAreaState.cs
- ConstantCheck.cs
- PersonalizationDictionary.cs
- DataKeyCollection.cs
- ButtonChrome.cs
- ClusterSafeNativeMethods.cs
- PageBuildProvider.cs
- DesignerDataSourceView.cs
- StyleSelector.cs
- WpfXamlMember.cs
- AdornedElementPlaceholder.cs
- NotFiniteNumberException.cs
- TraversalRequest.cs
- XPathLexer.cs
- SqlGenerator.cs
- ZoneIdentityPermission.cs
- ProfilePropertySettings.cs
- AuthenticateEventArgs.cs
- DateTimeFormatInfoScanner.cs
- GridViewColumnHeaderAutomationPeer.cs
- EntityCommandExecutionException.cs
- Propagator.cs
- ObjectCache.cs
- SmiContextFactory.cs
- UserInitiatedRoutedEventPermissionAttribute.cs
- CustomTypeDescriptor.cs
- ValidatorUtils.cs
- CompositeActivityTypeDescriptorProvider.cs
- WindowExtensionMethods.cs
- ObjectNavigationPropertyMapping.cs
- PropertyGridCommands.cs
- ToolStripItemGlyph.cs
- MergeFailedEvent.cs